Удалить / переместить маркер 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);

Я действительно не уверен, что он будет делать то, что вы хотите, но есть вероятность, что это будет работать:)
Я надеюсь, что вы решите свои проблемы.
Благодарю.:)

Другие вопросы по тегам