У меня есть этот код ниже. То, что я пытаюсь сделать, это получить эту кнопку «$ (# zoomTo» + str2.replace (/ / g, '')), чтобы добавить маркер точки или круга к указанному / выделить несколько, как узнать, что вы находитесь на эта точка на карте.
Я понял, как выделить точку с помощью круга, однако не могу удалить ее с карты, когда нажимаю другую кнопку. Он просто добавляет еще один маркерный круг.
Пожалуйста, помогите! Спасибо!
function refreshAttractions(){
$.ajax({url:'getdata.php',
type: 'POST',
success: function(response){
if (lyrAttractions){
mymap.removeLayer(lyrAttractions);
$("#sidebar").html("");
};
// goes through each point and creats a button id on the sidebar.
lyrAttractions=L.geoJSON(JSON.parse(response), {pointToLayer: function(feature, latlng){
var str2 = feature.properties.restaurant.replace(/'/g, '')
var str = "<button id = 'zoomTo"+str2.replace(/ /g, '');
str += "'class='form-control btn-primary eats'>";
str += feature.properties.restaurant + "</button>";
$("#sidebar").append(str);
//creates popup info
var str3 = feature.properties.restaurant+"<hr>";
str3 += "Meal: " + feature.properties.meal+"<br>";
str3 += "Price: " + feature.properties.price+"<br>";
str3 += "Neighbourhood: " + feature.properties.neighbourhood+"<br>";
str3 += "Submitted by: " + feature.properties.name+"<br>";
str3 += "</a><br><button id='btnEdit' class='btn btn-primary center-block' onclick='editAttractions("+feature.properties.id2+")'>Edit</button>";
//used to zoom to area when you click on the button.
$("#zoomTo"+str2.replace(/ /g, '')).click(function(){
mymap.setView([latlng.lat,latlng.lng],18);
});
//trying to figure out how to remove the circle marker when clicked on another button
$("#zoomTo"+str2.replace(/ /g, '')).click(function(){
var high = L.circleMarker([latlng.lat,latlng.lng],{color: 'green',weight: 7,radius: 25 });
high.addTo(mymap);
//mymap.removeLayer(high);
});
return L.marker(latlng).bindPopup(str3);
}});
lyrAttractions.addTo(mymap);
}});
};