javascript - 如何使用 place_id 获取地点详细信息?

标签 javascript angularjs google-maps google-places-api angular-google-maps

我想使用 place_id get_place details 获取地点详细信息 我正在使用 Angular_google_map,我正在使用以下代码,但这并没有提供如上所述的地点详细信息,但我得到了不同的格式。

    var map_obj=$scope.map.control.getGMap();
    var service = new google.maps.places.PlacesService(map_obj);

    $scope.$watch(function() {
      return $scope.place_id;
    }, function(place_id) {
      if (!place_id) {
        return;
      }
      service.getDetails({ placeId: place_id }, function(place, status) {
        console.log('place='+place);
        $scope.places=place;
      });
    });      

上面的代码给出了以下格式,但我想要不同的格式,请参阅 required format ,您可以看到几何格式与所需的格式不同。如何获得所需的格式。

地点格式

Object {address_components: Array[5], adr_address: "<span class="extended-address">HSR Layout</span>, …a</span>, <span class="country-name">India</span>", formatted_address: "HSR Layout, Bengaluru, Karnataka, India", geometry: Object, icon: "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png"…}
address_components: Array[5]
adr_address: "<span class="extended-address">HSR Layout</span>, <span class="locality">Bengaluru</span>, <span class="region">Karnataka</span>, <span class="country-name">India</span>"
formatted_address: "HSR Layout, Bengaluru, Karnataka, India"
geometry: Object
location: M
lat: function (){return a}
lng: function (){return b}
__proto__: M
viewport: Pd
__proto__: Object
html_attributions: Array[0]
icon: "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png"
id: "cfeef42cd5db5d4c2a55fc842fcdd712fb1092ad"
name: "HSR Layout"
place_id: "ChIJzW7cv5EUrjsRecj7OYRxMvI"
reference: "CpQBhQAAAC4IfuHnzBloeWfXk8AR4aGPBPIqwAMaIokCX5Ealqo33bGUw5PeRbkUjPvzy_5qqHryCpIz8TSWp0KidBuQ9res84IYoUTnCwlI831HQvHDmPf3uwzui4Bz5GK8mimTPxm4PEOOIpzXpV5ruF9zqJz2L0nMRSuSQJKVcbCSiLOCL4ijmehb5ggm-T5BBkYR6BIQzGX0fHP5x2_7NuUiJMUMFxoUy792_TmWmqOTrImnczW1TIwxwc0"
scope: "GOOGLE"
types: Array[3]
url: "https://maps.google.com/maps/place?q=HSR+Layout,+Bengaluru,+Karnataka,+India&ftid=0x3bae1491bfdc6ecd:0xf232718439fbc879"
vicinity: "HSR Layout"
__proto__: Object

最佳答案

我在尝试执行此操作时也遇到了麻烦,但我刚刚想通了。最简单的方法是使用 PlaceService 的实例:

var placesService = new google.maps.places.PlacesService(map);

placesService.getDetails(
    {placeId: 'reallylongstringgoeshere'},
    function(results, status) {
        console.log(status);
        console.log(results); 
    }
);

查看their docs with an example .

关于javascript - 如何使用 place_id 获取地点详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33388190/

相关文章:

javascript - 如何从控制台获取 ui 路由器的 $state 对象?

javascript - $(document).ready() 完成后如何触发某些东西?

javascript - 使用 Jquery 在悬停时换回图像

javascript - 有没有办法在 css 中禁用 <a> 链接预览?

javascript - 使用 Protractor 在非 AngularJS 页面上测试登录

javascript - 在 contenteditable 元素上制作 div 按钮

google-maps - 如何在 ionic native 谷歌地图中使折线适合屏幕内

javascript - 如何根据 MySQL 数据库中存储的坐标显示动画多个标记

android - "The constructor Geocoder(Context, Locale) is undefined"?

javascript - 无法让 document.getElementByID 工作