Удаление слоя, созданного массивом ajax, из карты листовкиJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Удаление слоя, созданного массивом ajax, из карты листовки

Сообщение Anonymous »

У меня есть массив, состоящий из координат и переменных, которые я хочу отобразить на карте с помощью Ajax. Все работает правильно, маркер отображается, но слой не удаляется, а следующая пакетная операция по-прежнему отображается (ничего не отображается).

Код: Выделить всё

var marker1;
var marker2;
var visible;
var nonvisible;

$(function () {
$('input.leaflet-control-findspot').on('click', _findtheSPot);
});

_findtheSPot = function () {

/////////i still figure out this code below to remove the marker,nothing error showed////////
if (mymap.hasLayer(visible)) {
mymap.removeLayer(visible);

}
if (mymap.hasLayer(nonvisible)) {
mymap.removeLayer(nonvisible);
}
var visible = L.layerGroup().addTo(mymap);
var nonvisible = L.layerGroup().addTo(mymap);
/////////i still figure out this code above to remove the marker,nothing error showed////////

$.ajax({
type: "POST",
data: {
arrayraw: solararray,
lat: objlat,
long: objlng,
objheight: document.getElementById('leaflet-control-inputOheight').value
},
cache: false,
url: "php/ujicoba.php",
dataType: "json",
beforeSend: function () {
$("#route-loading").show();

},
success: function (data) {

$("#route-loading").hide();
/////////this code uses an array to show the marker in the map////////
for (var i = 0; i < data.length; i++) {
if (data[i].ket == "visible") {
L.marker([data[i].lat, data[i].long], { icon: L.icon(icontargetMarker1) }).addTo(visible);

} else {

L.marker([data[i].lat, data[i].long], { icon: L.icon(icontargetMarker2) }).addTo(nonvisible);
}
/////////this code uses an array to show the marker in the map////////
}

}
,
error: function () {
$("#route-loading").hide();
alert('Failed to get server respond');
}

});
моя вторая попытка использовала этот код для удаления маркера

Код: Выделить всё

            if (mymap.hasLayer(visible)) {
mymap.clearLayers();
visible.clearLayers();
}
if (mymap.hasLayer(nonvisible)) {
mymap.clearLayers();
nonvisible.clearLayers();
}
Надеюсь, кто-нибудь сможет разобраться или придумать решение этой проблемы. Я ищу решение уже 5 дней.

Подробнее здесь: https://stackoverflow.com/questions/793 ... eaflet-map
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»