2017-01-31 18 views
-2

私はこのコードをjavascriptとhtmlに入れていますが、すべて正常に動作しますが、Googleマップでマーカーを削除する方法は多々あります。助けてください、ありがとう!Google Maps API v3でマーカーを削除するJS

<script type="text/javascript"> 
    function initialize() { 
    var markers = [ 
     { 
      "title": 'ABC', 
      "lat": '19.1759668', 
      "lng": '72.79504659999998', 
      "description": 'ZXVZXV' 
     }, 
     { 
      "title": 'ASDASD', 
      "lat": '19.0883595', 
      "lng": '72.82652380000002', 
      "description": 'ZXVZXA.' 
     }, 
     ]; 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 25, 
     center: new google.maps.LatLng(19.1759668, 72.79504659999998), 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     zoomControl: true, 
     mapTypeId: 'satellite' 
    }); 
    for (var i = 0; i < markers.length; i++) { 
     var data = markers[i]; 
     var myLatlng = new google.maps.LatLng(data.lat, data.lng); 
     var marker = new google.maps.Marker({ 
      position: myLatlng, 
      map: map, 
      title: data.title, 
     }); 

    } 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 

+0

どのようにマーカーを削除しようとしていますか?私の質問は、あなたがマーカーを表示したくない場合、それをマップに追加しないでください。そうするためにマーカーやメカニズムを削除する理由があると仮定します米国。あなたが試したことがないと思ったことを示す[mcve]を入力してください。 – geocodezip

+0

地図に表示/非表示ボタンを追加したいと思います。しかし、私は多くの方法を試して動作しませんでした –

答えて

0

あなたは、例えばmarkersObj markersObjectのトップウィンドウの配列を使用することができ、マーカーは、内部のオブジェクトを格納し、セットnullまたは設定されたマップ

<script type="text/javascript"> 

    var markersObj = []; 
    var map; 

    function initialize() { 
    var markers = [ 
     { 
      "title": 'ABC', 
      "lat": '19.1759668', 
      "lng": '72.79504659999998', 
      "description": 'ZXVZXV' 
     }, 
     { 
      "title": 'ASDASD', 
      "lat": '19.0883595', 
      "lng": '72.82652380000002', 
      "description": 'ZXVZXA.' 
     }, 
     ]; 
    map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 25, 
     center: new google.maps.LatLng(19.1759668, 72.79504659999998), 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     zoomControl: true, 
     mapTypeId: 'satellite' 
    }); 
    for (var i = 0; i < markers.length; i++) { 
     var data = markers[i]; 
     var myLatlng = new google.maps.LatLng(data.lat, data.lng); 
     var marker = new google.maps.Marker({ 
      position: myLatlng, 
      map: map, 
      title: data.title, 
     }); 

     markersObj.push(marker); 

    } 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 


    function hideMarkers() { 
     nElem = markersObj.length 
     for (i=0; i< nElem; i++){ 
     markersObj[i].setMap(null); 
     } 

    } 


    function showMarkers() { 
     nElem = markersObj.length 
     for (i=0; i< nElem; i++){ 
     markersObj[i].setMap(map); 
     } 

    } 


    .... 

用ループあなたはhideMarkersを呼び出す2つのボタンが必要かshowMarkersそれぞれ

関連する問題