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

How do I retrieve place details from the Google Places JS API using a place ID?

本文关键字:JS API 检索 Places 详细信息 何使用 ID Google      更新时间:2023-09-26

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

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

地点ID不受谷歌地图API服务条款第10.1.3节中规定的缓存限制。因此,可以无限期地存储位置ID值。

然而,从文档中还不清楚如何使用此存储值来检索一个地方的详细信息。有什么方法吗?应该如何使用这些方法?

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,但这个类并不存在,它只是对对象应该如何格式化的描述。