2016-09-14 6 views
-1

私はこのコードをクリックしてマップから場所を選択しています。地図をクリックするたびに、新しい場所が選択され、地図上に新しいマーカーが表示されます。マップから古いマーカーを非表示/削除/クリアしたいと思います。クリックして地図からマーカーをクリアする方法は?地図からマーカを削除

あなたは適切なVaRの例で作成したマーカー保管しなければならない
var placedMarkers = 0; 
var availableMarkersToPlace = 1; 
setTimeout(function(){ 
    if(placedMarkers >= availableMarkersToPlace) 
     return; 
    placedMarkers++; 
    var map = Appery("google_map").gmap; 
    google.maps.event.addListener(map, 'click', function(event) { 
     localStorage.setItem('selectedLat', event.latLng.lat()); 
localStorage.setItem('selectedLng', event.latLng.lng()); 
     placeMarker(event.latLng,map); 
     alert(event.latLng); 



    }); 

}, 1000); 
+0

を必要とするときにマーカーを削除する機能を呼び出すためのボタンを使用することができます最後元のマーカーにnce? – scaisEdge

+0

この質問はあまりにも曖昧です。どのようにそれらを削除したいですか?ボタンをクリックしますか?リンク?ダブルクリック?おそらく、これをグーグルで試してみてください。https://developers.google.com/maps/documentation/javascript/examples/marker-remove – Twisty

答えて

0

:あなたはてsetMap(null)を使用して、このマーカーを非表示に設定する必要があり、新たなマーカーfirtsを作成するときに

var my_old_marker 

my_old_marker.setMap(null); 

新しいマーカーを作成し、my_old_markerに保存する必要があります。

上のリスナーで、その後

var markers = []; 

あなたは、関数addMarker

map.addListener('click', function(event) { 
     addMarker(event.latLng); 
    }); 

    // Adds a marker to the map and push to the array. 
    function addMarker(location) { 
    var marker = new google.maps.Marker({ 
     position: location, 
     map: map 
    }); 
    markers.push(marker); 
    } 
を使用してマーカーを追加することができますクリックしてください:あなたは、マーカーのコレクションを作り、あなたは、配列などを使用する必要があります 最終的には...隠したい場合は

、あなたがREFEREを保存する方法

function deleteMarkers() { 
    for (var i = 0; i < markers.length; i++) { 
     markers[i].setMap(null); 
    } 
    markers = []; 
    } 
+0

返信ありがとうございます...申し訳ありませんが、わかりやすくするために私の質問を言い換える必要があるかもしれません...このコードユーザーが地図をクリックするたびにマーカーを配置します。すべてのクリックにマーカーを1つだけ配置する方法はありますか?マーカーをどこに移動させるのですか? –

+0

配列を使って答えを更新しました。 – scaisEdge

関連する問題