【问题标题】:hide/show marker categories Google Maps API隐藏/显示标记类别 Google Maps API
【发布时间】:2012-11-20 03:36:23
【问题描述】:

因此,在用户在这里提供了一些出色的帮助之后,我现在有了一个按钮来隐藏我网站上的所有地图标记。但是我需要能够根据它们的类别隐藏标记。

下面的代码将结果从 Google 传递到标记数组

  function createMarker(place) {
    var iconType = {};
    iconType['atm'] = "http://maps.google.com/mapfiles/ms/micons/dollar.png";
    iconType['bus_station'] = "http://maps.google.com/mapfiles/ms/micons/bus.png";
    //iconType['restaurant'] = "http://maps.google.com/mapfiles/ms/micons/restaurant.png";
    iconType['parking'] = "http://maps.google.com/mapfiles/ms/micons/parkinglot.png";
    var placeLoc = place.geometry.location;
    var marker = new google.maps.Marker({
      map : map,
      icon : iconType[place.types[0]],
      position : place.geometry.location,
      category : category
    });

    google.maps.event.addListener(marker, 'click', function() {
      infowindow.setContent(place.name);
      infowindow.open(map, this);
    });

    return marker;
  }

我认为类别属性现在应该填充来自谷歌的响应,我现在遇到的问题是当我调用我的函数来隐藏标记时选择这些结果(特定类别),我不知道如何访问类别的数组数据,我在这里搜索了多个线程,但它们的代码与我的大不相同。我隐藏标记的代码在这里。

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

非常感谢任何帮助。哦,用于获取结果的代码是。

service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);
  function callback(results, status) {
    if (status == google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        var place = results[i];
        markers.push(createMarker(results[i]));
      }
    }
  }

【问题讨论】:

    标签: jquery google-maps-api-3 google-maps-markers


    【解决方案1】:

    你可以像这样获取标记的类别:

    function onRemoveBtn_Clicked() {
        var i;
        for (i = 0; i < markers.length; i++) {
          if (markers[i].get("category") != selected_category) {
            markers[i].setMap(null);
          }
        }
      }
    

    【讨论】:

      猜你喜欢
      • 2012-11-08
      • 2019-06-04
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 2017-02-16
      • 2014-07-29
      相关资源
      最近更新 更多