0

jQueryでGoogleマップの場所変数をフィルタリングする方法はありますか?

元:

  • 車両
  • ボート
  • ID carのリンクをクリックすると、IDcarのすべての文字列がフィルタリングされます。IDカーをクリックすると、マップにIDボートの文字列がすべて非表示になり、マップにIDカーの文字列のみが表示されます。

    出来ますか?

    function initialize() {
    
        var locations = [
    
    
      ['<strong>Firm 1</strong><br />1111 Country<br />Street<br /><br />', 47.6801806,8.7499505, 1, id car here?? ],
    
      ['<strong>Firm 2</strong><br />2222 Country<br />Street<br /><br />', 47.6801806,8.7499505, 2, id boat here?? ],
    
    
    
    ];
    
        var map = new google.maps.Map(document.getElementById('map_canvas'), {
          zoom: 10,
          center: new google.maps.LatLng(47.603786, 9.055737),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });
    
    
    
    
    
    
        var infowindow = new google.maps.InfoWindow();
    
        var marker, i;
    
        for (i = 0; i < locations.length; i++) {  
          marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][1], locations[i][2]),
            map: map,
           icon: new google.maps.MarkerImage('/assets/templates/style/images/iconKarte.png')
          });
    
          google.maps.event.addListener(marker, 'click', (function(marker, i) {
            return function() {
              infowindow.setContent(locations[i][0]);
              infowindow.open(map, marker);
            }
          })(marker, i));
        }
    
     }
    
    </script>
    
    
    
    
     <div id="map_canvas" style="width:750px;height:500px;"></div>
    
    4

    1 に答える 1

    0

    このJsFiddleに示されているように、多くの冗長コードを使用して次の手順を実行する必要があります

    1. マップオブジェクトがそこにあると。すべてのマーカーを入力します
    2. 誰かがフィルターをクリックすると(たとえば、私のフィドルで車や人をクリックすると)、マップがクリアされ、人だけの順序付けられていないリストからマーカーが再描画されます。ズームやパンを行った場所で機能が変わることはありませんが、簡単に行うことができます。
    3. 手順3はありません。マップ上のすべてのオブジェクトを元に戻したい場合は、すべてのマーカーを表示する関数を配置します。

    フィルタリングする実際のコードは次のとおりです。

    {clear:{}},
    { action: 'addMarkers',
    marker:{
    values:ulmarkerspeople,
    options:{
        draggable: false,
        icon:'http://mapicons.nicolasmollet.com/wp-content/uploads/mapicons/shape-default/color-ffc11f/shapecolor-color/shadow-1/border-dark/symbolstyle-white/symbolshadowstyle-dark/gradient-no/male-2.png'
    }}
    

    タグやIDもクリアできるので、gmap3を使用して空のオブジェクトでクリアしています。google map v3 APIを使用している場合は{action:'clear'}、マーカーを再描画する前にを使用してマップをクリアします。

    于 2013-01-29T16:13:12.220 に答える