使用Google Maps Places API时,您可以创建附加到地图的Autocomplete
元素,以便搜索其库。
当您选择一个地点时,您可以调用autocomplete.getPlace()
来检索描述该地点的JSON对象。其中一个字段是place_id
,Google的独特参考。 Google实际上允许存储这些内容:
地方ID不受Google Maps API服务条款第10.1.3节中规定的缓存限制的约束。因此,您可以无限期地存储地点ID值。
但是,从文档中不清楚如何使用此存储值来检索场所的详细信息。有没有方法,应该如何使用?
答案 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
,但是这个类并不存在,它只是描述了如何对象应格式化。