【问题标题】:Place Types Is showing wrong type of place on Maps API地点类型在 Maps API 上显示错误的地点类型
【发布时间】:2016-04-28 13:41:05
【问题描述】:

我的地图 api 显示了错误的地点类型,我不知道为什么。请参阅下面的代码,我要求:

类型:['store', 'school', 'church', 'park', 'university', 'cafe', 'gym', 'bakery']

在此处查看完整代码:

<script>

  var map;
  var infowindow;


  function initMap() {

    var image = 'http://www.vittoriagardens.com/wp-content/uploads/2016/04/pin.png';
    var myLatLng = {lat: 25.5244191, lng: -80.4063932};

    map = new google.maps.Map(document.getElementById('map'), {
      zoom: 15,
      scrollwheel: false,
      center: myLatLng
    });

    var principal = new google.maps.Marker({
      position: myLatLng,
      map: map,
      title: 'Vittoria',
      icon: image

    });

    infowindow = new google.maps.InfoWindow();

    /*lojas*/
    var placestore = new google.maps.places.PlacesService(map);
    placestore.nearbySearch({
      location: myLatLng,
      radius: 2500,
      type: ['store', 'school', 'church', 'park', 'university', 'cafe', 'gym', 'bakery']
    }, callback);

  }

  function callback(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        createMarker(results[i]);
      }
    }
  }

  function createMarker(place) {
    var placeLoc = place.geometry.location;

    var iconType = {};
    iconType['school'] = "http://www.vittoriagardens.com/wp-content/uploads/2016/04/categoria_school.png";
    iconType['church'] = "http://www.vittoriagardens.com/wp-content/uploads/2016/04/categoria_church.png";
    iconType['park'] = "http://www.vittoriagardens.com/wp-content/uploads/2016/04/categoria_park.png";
    iconType['university'] = "http://www.vittoriagardens.com/wp-content/uploads/2016/04/categoria_school.png";
    iconType['store'] = "http://www.vittoriagardens.com/wp-content/uploads/2016/04/categoria_shopping_mall.png";
    iconType['cafe'] = "http://www.vittoriagardens.com/wp-content/uploads/2016/04/categoria_bakery.png";
    iconType['bakery'] = "http://www.vittoriagardens.com/wp-content/uploads/2016/04/categoria_bakery.png";
    iconType['gym'] = "http://www.vittoriagardens.com/wp-content/uploads/2016/04/categoria_gym.png";

    var marker = new google.maps.Marker({
      map: map,
      icon: iconType[place.types[0]],
      position: place.geometry.location
    });

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

</script>

我不知道为什么,但在您可以在此处看到的地图上:Vittoria Gardens 或在下面这张图片中:Print of the map on the website,例如,它显示了一家墨西哥餐厅和一个 UPS 客户中心,而我没有t 要求这种类型的地方。

有谁知道为什么会这样? 谢谢

【问题讨论】:

    标签: google-maps google-places-api


    【解决方案1】:

    来自the documentation

    警告:文本搜索请求中的类型的实现正在改变。自 2016 年 2 月 16 日起,types 参数已弃用,取而代之的是一个新的 type 参数,该参数仅支持每个搜索请求一种类型。此外,将不再支持作为搜索参数的机构、地点_of_worship、食品、健康、一般承包商和财务类型(但这些类型仍可能在搜索结果中返回)。在 2017 年 2 月 16 日之前,将支持使用已弃用功能的请求,此后所有文本搜索都必须使用新实现。

    虽然上面的文字明确指出“文本搜索”,但它也适用于NearbySearch

    这行不通:

    type: ['store', 'school', 'church', 'park', 'university', 'cafe', 'gym', 'bakery']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2015-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多