Здравствуйте, я наткнулся на ту же проблему, и я нашел этот ответ, прежде чем найти этот пост.Итак, вот ответ:
добавьте eventListener внутри карты initialize
function:
function initialize() {
...
google.maps.event.addListener(map, 'click', function(event) {
addListing(event.latLng);
});
}
, затем создайте переменную счетчика и используйте ее внутри addListing
variable (моя функция для добавлениямаркер):
var i=0
function addListing(location) {
var addMarker;
var iMax=1;
if(i<=iMax) {
addMarker = new google.maps.Marker({
draggable:false,
position: location,
map: map
});
google.maps.event.addListener(addMarker, 'dblclick', function() {
addMarker.setMap(null);
i=1;
});
i++;
} else {
console.log('you can only post' , i-1, 'markers');
}
}
Другое преимущество этого подхода (я думаю) состоит в том, что вы можете контролировать количество маркеров, которые пользователь может легко разместить на карте, увеличив или уменьшив значение максимального счетчика (т.е.iMax = 2 увеличит количество разрешенных маркеров до 2).Вы стираете маркер, дважды щелкнув по нему, и вы можете переместить его в другое место.
Надеюсь, это поможет кому-нибудь в будущем.
Приветствия