Google Places API - 位于Landmark附近的位置

时间:2015-07-09 10:53:56

标签: javascript google-places-api

我想知道是否可以将Google Places API限制为仅搜索&#39; 附近的&#39; <&strong> >地标仅限于地标。

例如:

Not desired: coffee shop near Walmart

Desired: coffee shop near Eiffel Tower

使用javascript API。

提前干杯。

2 个答案:

答案 0 :(得分:0)

见于https://developers.google.com/maps/documentation/javascript/places#place_search_requests

  

通过调用PlacesService来启动附近搜索   nearbySearch()方法,它将返回一个PlaceResult数组   对象。

service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);
     

您还必须将回调方法传递给nearbySearch(),以便处理   结果对象和google.maps.places.PlacesServiceStatus响应。

var map;
var service;
var infowindow;

function initialize() {
  var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316);

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

  var request = {
    location: pyrmont,
    radius: '500',
    types: ['store']
  };

  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];
      createMarker(results[i]);
    }
  }
}

您需要更改pyrmont的LatLng以更改位置,在您的情况下,更改Eiffeltower。您还可以将pyrmont的所有匹配项更改为您自己的变量。 shop也可以更改。

答案 1 :(得分:0)

您需要进行两次搜索:

  1. 使用PlacesService的{​​{1}}方法查找候选地标。如果最高结果与您的地标定义相匹配(可能textSearch数组包含types?),请在步骤2中使用其位置。
  2. 使用point_of_interest的{​​{1}}在该位置搜索PlacesService = x
  3. 类似的东西:

    nearbySearch