0

Google マップからマーカーを 1 つ削除したいのですが、うまくいきません。さまざまな答えが見つかりましたが、すべて.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()、同じエラーです。変数の使い方が間違っていると思いますが、正しく参照する方法がわかりません。

4

1 に答える 1

0

さて、私はjQueryなしでグーグルマップを扱っていましたが、次のコードでマーカーを取得する必要があると思います(よくわかりませんが、試してみてください):

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

それがあなたの望むようになるかどうかは本当にわかりませんが、これがうまくいく可能性はあり
ます:) あなたが問題を解決してくれることを願っています.
ありがとう。: )

于 2016-04-04T09:42:24.690 に答える