2017-06-21 8 views
0

私の質問は、同じアイコンを持っているアイコンを隠したいのですが、マップに戻って印刷できます。たとえば、私は1つのコンピュータアイコンと1つのトランシーバーアイコンを持っています。マップで私はコンピュータのアイコンを隠したい、彼らはdisapperです。その後、私はトランシーバーのアイコンを隠すことができます。それから私はマップにコンピュータのアイコンだけを印刷することができます。同じアイコンを持つマーカーを隠して表示するgoogle map api

var marker = new google.maps.Marker({ 
       position: location, 
       map: map, 
       icon: img, 
       title: x 
       }); 
       markers.push(marker); 

私はそのようなマーカーを押しています。私は隠してテーブルを見せている。その

function setMapOnAll(map) { 
     for (var i = 0; i < markers.length; i++) { 
     markers[i].setMap(map); 
     var imagebox = document.getElementById('images').value; 
     markers[i].setIcon(imagebox); 
     window.alert('Loop'); 
     } 
    } 

    function clearMarkers() { 
    setMapOnAll(null); 
    } 

    // Shows any markers currently in the array. 
    function showMarkers() { 
    setMapOnAll(map); 
} 

私の最初の問題は、私はshowMarkersを(クリックした後、私は自分のマーカーを表示することはできませんよあるよう

<div id="marker-panel"> 
    <input onclick="clearMarkers();" type=button value="Hide Markers"> 
    <input onclick="showMarkers();" type=button value="Show All Markers"> 
</div> 

とその機能)がある;.私は問題を発見した。私はループを正しく行っていますが、アイコン画像へのアクセスはできません。実際これは私の基本的な問題です。しかし、私はグループ内でコンピュータを隠すか、ウォーキートーキーだけを隠すようにしたい。どんな助けも素晴らしいでしょう。これを読んでくれてありがとう、私はあなたに私に手を差し伸べてくれることを願っています:)素敵な日を過ごしてください。

+0

下回っている:) –

答えて

0

私はこの問題を解決しました。それは悪いコーディングですが、それは私が推測する作品です。私は何の問題もありませんでした。コードは、私はそれを修正したが、まだ私はアイコンを非表示にすると、名前に依存に関する問題を抱えている..私は、アイコンの画像を修正することができ...問題は、それが問題だったので、私は関数にマップを定義した

if(document.getElementById('images').value == 'computer.png'){ 
       var x = 'The elevation at this point is ' + 
       results[0].elevation + ' meters.'; 
       var marker = new google.maps.Marker({ 
       position: location, 
       map: map, 
       icon: img, 
       title: x 
       }); 
       computer.push(marker); 
       //sağ tık silme fonksiyonu 
       google.maps.event.addListener(marker, 'rightclick', function(event) { 
       marker.setMap(null); 
       }); 
       } 
       else {// telsiz 
       var x = 'The elevation at this point is ' + 
       results[0].elevation + ' meters.'; 
       var marker = new google.maps.Marker({ 
       position: location, 
       map: map, 
       icon: img, 
       title: x 
       }); 
       telsiz.push(marker);} 
       google.maps.event.addListener(marker, 'rightclick', function(event) { 
       marker.setMap(null); 
       }); 
      } 


    function setMapOnAll(map) { 
     for (var i = 0; i < computer.length+telsiz.length; i++) { 
      computer[i].setMap(map); 
      for(var j=0; j < telsiz.length; j++){ 
      telsiz[i].setMap(map); 
      } 
     } 
    } 

    function clearComputer(map) { 
    for(var i = 0; i<computer.length; i++){ 
     computer[i].setMap(null); 
    } 
    } 

    function clearTelsiz(map) { 
    for(var i = 0; i<telsiz.length; i++){ 
     telsiz[i].setMap(null); 
    } 
    } 

    // Shows any markers currently in the array. 
    function showMarkers() { 
    setMapOnAll(map); 
} 
関連する問題