【问题标题】:How do I retrieve place details from the Google Places JS API using a place ID?如何使用地点 ID 从 Google Places JS API 检索地点详细信息?
【发布时间】:2015-03-03 17:46:23
【问题描述】:

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

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

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

但是,文档中并不清楚如何使用此存储的值来检索地点的详细信息。有没有什么方法,应该怎么用?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-03-20
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多