Удалить / переместить маркер Google maps (jquery-ui-maps)
Я хочу удалить один маркер с карты Google, но не могу заставить его работать. Я нахожу различные ответы, все говорят мне, чтобы использовать .setMap(null)
на маркере, но я не могу заставить его работать.
$map_canvas = $('#map_canvas');
var youreHere_Marker;
function centerMapToAddress( address ) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if( typeof youreHere_Marker!=="undefined"){
youreHere_Marker.setMap(null);
}
youreHere_Marker = $map_canvas.gmap('addMarker', {'position': results[0].geometry.location.lat()+','+results[0].geometry.location.lng(), 'bounds': true});
}
});
}
я получил TypeError: youreHere_Marker.setMap is not a function
, Насколько мне известно, это означает, что переменная youreHere_Marker
не имеет метода .setMap()
, но если я сделаю console.log(youreHere_Marker)
и осмотреть объект, я вижу метод.
У меня есть больше маркеров на моей карте, через MarkerClusterer
, Те должны остаться нетронутыми
У меня такое чувство, что я рядом, кто-то может указать мне правильное направление?
Изменить: я также пытался .setPosition()
та же ошибка. Я предполагаю, что я использую переменную неправильно, но я не знаю, как правильно ссылаться на нее.
1 ответ
Ну, я работал с Google Maps без jQuery, но я думаю (я не уверен, но вы можете попробовать), что вы должны получить свой маркер с помощью следующего кода:
youreHere_Marker = $map_canvas.gmap('get', 'markers')[0];
youreHere_Marker.setMap(null);
Я действительно не уверен, что он будет делать то, что вы хотите, но есть вероятность, что это будет работать:)
Я надеюсь, что вы решите свои проблемы.
Благодарю.:)