Delete/move Google 地图标记(jquery-ui-地图)

Delete/move Google maps marker (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(),同样的错误。我假设我使用的变量不正确,但我不知道如何正确引用它。

好吧,我在没有 jQuery 的情况下使用 google 地图,但我认为(我不确定,但您可以尝试)您应该使用以下代码获取标记:

youreHere_Marker = $map_canvas.gmap('get', 'markers')[0];
youreHere_Marker.setMap(null);

我真的不确定它会做你想做的事,但它有可能会起作用:)
我希望你能解决你的问题。
谢谢。 :)