如何使用地点ID从Google Places JS API检索地点详细信息?

时间:2015-03-03 17:46:23

标签: javascript google-maps google-places-api

使用Google Maps Places API时,您可以创建附加到地图的Autocomplete元素,以便搜索其库。

当您选择一个地点时,您可以调用autocomplete.getPlace()来检索描述该地点的JSON对象。其中一个字段是place_id,Google的独特参考。 Google实际上允许存储这些内容:

  

地方ID不受Google Maps API服务条款第10.1.3节中规定的缓存限制的约束。因此,您可以无限期地存储地点ID值。

但是,从文档中不清楚如何使用此存储值来检索场所的详细信息。有没有方法,应该如何使用?

1 个答案:

答案 0 :(得分:3)

google.maps.places名称空间中有一个名为PlacesService的对象。这有一个名为getDetails()的方法,可以接受ID。

令人困惑的是PlacesService对象需要创建一个HTML元素。如果您只想使用getDetails,则不需要随后使用此元素,因此您可以使用您喜欢的任何风格创建一个 - 下面的示例使用jQuery:

var obj=$('<div>').appendTo('body');
var service=new google.maps.places.PlacesService(obj.get(0));
service.getDetails({placeId:''},function(PlaceResult, PlacesServiceStatus){
   // PlaceResult is an object
   // PlacesServiceStatus is a string
});

奇怪的是,传递给getDetails的对象在文档中被称为PlaceDetailsRequest,但是这个类并不存在,它只是描述了如何对象应格式化。