var map; var plugin_path="https://www.paffrath-gl.de/wp-content/plugins/stadtteilkarte"; var kml_path="https://www.paffrath-gl.de/wp-content/plugins/stadtteilkarte/kml/"; var protected_layers = new Array(); function protect_layer(l_url = "") { if( jQuery.trim( l_url ) != "" && protected_layers.includes( l_url ) == false ) { protected_layers.push( l_url ); } } function redirect_kartenlink( obj ) { var curr_url = jQuery(obj).attr("data-stk-item-url"); if( confirm('Die Stadtteil-Karte nutzt Leaflet OpenStreetMap!\nMit Klick auf [OK] willigen Sie in die Nutzung mit allen damit verbundenen Bedingungen ein.\nWenn Sie diese nicht akzeptieren möchten, klicken Sie bitte auf [Abbrechen].') ) window.location.href = curr_url; } var adr_ajaxfile = "/shortcodes/sc-address.inc.php"; function find_address(obj) { var adresse = jQuery(obj).prev(".stk-input-adr").val(); adresse = jQuery.trim(adresse); if( adresse != "" ) { jQuery(obj).next(".address-loader").css("display","inline-block"); jQuery.post(plugin_path + adr_ajaxfile,{aktion: 'find_address', daten: adresse }, function(data) { remove_marker(); jQuery("#stk-ergebnis-wrapper").html( data ); jQuery(obj).next(".address-loader").css("display","none"); }); } else { alert("Bitte eine Adresse eingeben."); } } var imagelayer_ajaxfile="/shortcodes/sc-imglayer.inc.php"; function stk_set_image_layer(obj, remove, do_protect="") { var do_remove; var curr_layer; if ( remove == null ) do_remove = remove_layer; else do_remove = remove; if ( obj != null ) curr_layer = jQuery(obj).attr("data-layer-url"); else curr_layer = data_layer_url; jQuery(obj).next(".address-loader").css("display","inline-block"); jQuery.post(plugin_path + imagelayer_ajaxfile,{aktion: 'create-imglayer', daten: curr_layer }, function(data) { var curr_data = JSON.parse( data ); var img_src = JSON.parse( curr_data[0] ); remove_layer( img_src[0] ); if( do_remove==1 ) remove_layer(); if( protected_layers.includes( curr_layer ) == false ) //nicht in Protected-Liste => Mehrfach-Layern verhindern jQuery("#stk-ergebnis-wrapper").html( curr_data[1] ); if( do_protect=="yes" ) protect_layer( img_src[0] ); jQuery(obj).next(".address-loader").css("display","none"); }); } var keysearch_ajaxfile="/shortcodes/sc-keysearch.inc.php"; function get_poi_by_key(obj) { //alert(selkat_ajaxfile); var keyword = jQuery("#stk-searchkey").val() if( jQuery.trim(keyword) != "" ) { jQuery(obj).next(".address-loader").css("display","inline-block"); jQuery.post(plugin_path + keysearch_ajaxfile,{aktion: 'searchkey', daten: keyword }, function(data) { jQuery(obj).next(".address-loader").css("display","none"); if( data != "NO DATA" ) { remove_marker(); jQuery("#stk-ergebnis-wrapper").html( data ); } else alert("Zu Ihrer Stichwort-Suche wurde kein Eintrag gefunden."); }); } else alert("Bitte Stichwort angeben."); } var singlelayer_ajaxfile="/shortcodes/sc-layer.inc.php"; function stk_set_single_layer(obj, remove, do_protect="") { var do_remove; var curr_layer; if ( remove == null ) do_remove = remove_layer; else do_remove = remove; if ( obj != null ) curr_layer = jQuery(obj).attr("data-layer-url"); else curr_layer = data_layer_url; jQuery(obj).next(".address-loader").css("display","inline-block"); jQuery.post(plugin_path + singlelayer_ajaxfile,{aktion: 'create-layer', daten: curr_layer }, function(data) { var curr_data = JSON.parse( data ); remove_layer( curr_data[0] ); if( do_remove==1 ) remove_layer(); if( protected_layers.includes( curr_layer ) == false ) //nicht in Protected-Liste => Mehrfach-Layern verhindern jQuery("#stk-ergebnis-wrapper").html( curr_data[1] ); if( do_protect=="yes" ) protect_layer( curr_layer ); jQuery(obj).next(".address-loader").css("display","none"); }); } var selkat_ajaxfile="/shortcodes/sc-selkat.inc.php"; function get_kat_pois(obj) { //alert(selkat_ajaxfile); var kat_id = jQuery(obj).val(); jQuery(obj).next(".address-loader").css("display","inline-block"); jQuery.post(plugin_path + selkat_ajaxfile,{aktion: 'find_pois', daten: kat_id }, function(data) { remove_marker(); jQuery("#stk-ergebnis-wrapper").html( data ); jQuery(obj).next(".address-loader").css("display","none"); }); } var enableclickpos = false; var tanken_ajaxfile="/shortcodes/sc-tanken.inc.php"; function stk_tanken(obj, remove=0, do_protect="") { var gastyp = jQuery("input[name='gastype']:checked").val(); var rad = jQuery("input[name='radius']").val(); jQuery.post(plugin_path + tanken_ajaxfile,{aktion: 'tanken', gastyp: jQuery("input[name='gastype']:checked").val(), radius: rad, center:jQuery("input[name='center']").val() }, function(data) { if( data == "NO GASSTATIONS" ) alert("Es wurden keine Tankstellen im angegebenen Bereich gefunden."); else { remove_marker(); jQuery("#stk-ergebnis-wrapper").html( data ); } }); } jQuery(document).ready( function() { if(enableclickpos) { setTimeout(ts_get_map, 1000); // warten, da es sonst evtl. Probleme beim Erkennen des Karten-Objekts gibt } }); function ts_get_map() { map = window.WPLeafletMapPlugin.maps[0]; if( typeof map == "object" ) { map.on('click', function(e) { ts_set_new_center(e.latlng); }); } else { alert("Leider konnte kein Karten-Objekt ermittelt werden.\nDie Seite wird neu geladen."); window.location.reload(); } } function ts_set_new_center(koords) { var do_search = true; if( typeof max_lat == "undefined" ) do_search = true; else { if( koords.latmax_lat || koords.lngmax_lng ) do_search = false; } if( do_search ) { jQuery("#ts-center").val( koords.lat+","+koords.lng ); stk_tanken(); } else alert("Die angeklickte Position liegt nicht im Geltungsbereich."); } function set_radius(obj) { var max = jQuery(obj).attr("max"); var min = jQuery(obj).attr("min"); if( jQuery(obj).val() > max ) jQuery("input[name='radius']").val( max ); else jQuery("input[name='radius']").val( jQuery(obj).val() ); if( jQuery(obj).val() < min ) jQuery("input[name='radius']").val( min ); else jQuery("input[name='radius']").val( jQuery(obj).val() ); } var toggle_ajaxfile="/shortcodes/sc-togglelayer.inc.php"; function stk_toggle_layer(obj, remove=0, do_protect="") { var curr_layer = ""; if ( jQuery(obj).prop("checked") ) { curr_layer = layer_2; } else { curr_layer = layer_1; } jQuery(obj).parent().next(".address-loader").css("display","inline-block"); if(curr_layer == "null" ) { if( layer_1 == "null" ) remove_layer( layer_2 ); else remove_layer( layer_1 ); jQuery(obj).parent().next(".address-loader").css("display","none"); } else { jQuery.post(plugin_path + toggle_ajaxfile,{aktion: 'toggle-layer', daten: curr_layer }, function(data) { if( remove==1 ) { remove_layer(); } remove_layer( layer_1 ); remove_layer( layer_2 ); jQuery("#stk-ergebnis-wrapper").html( data ); if( do_protect=="yes" ) protect_layer( curr_layer ); jQuery(obj).parent().next(".address-loader").css("display","none"); }); } }