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");
});
}
}