0

有没有办法用 jQuery 过滤谷歌地图位置变量?

前任:

  • 单击带有 ID car 的链接,过滤所有带有 ID car 的字符串。点击 ID car 会隐藏地图上带有 ID 船的所有字符串,并在地图上只显示带有 ID car 的字符串。

    可能吗?

    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'
    }}
    

    我正在使用 gmap3 清除一个空对象,因为它也允许清除标签或 ID。如果您使用的是 google map v3 API,则{action:'clear'}在重绘标记之前使用清除地图。

    于 2013-01-29T16:13:12.220 回答