【问题标题】:Google Places API - Get address, phone number etcGoogle Places API - 获取地址、电话号码等
【发布时间】:2015-06-30 10:25:42
【问题描述】:

我正在尝试获取有关我在地图上显示的地点的更多信息,例如地点地址、电话号码等。您可以在此处查看我的代码:

http://jsfiddle.net/aboother/4q3jcg1s/

我做了一个'console_log(place)'如下:

function createMarker(place) {
    var placeLoc = place.geometry.location;
    var marker = new google.maps.Marker({
        map: map,
        position: place.geometry.location
    });

    console.log(place);

    var request = { reference: place.reference };
    service.getDetails(request, function(details, status) {
        google.maps.event.addListener(marker, 'click', function() {
            console.log(place);
            infowindow.setContent(place.name + "<br />" + place.vicinity);
            infowindow.open(map, this);
        });
    });
}

但我看不到此对象中的地址或电话号码,即使我知道您可以获得此信息。我只能看到“附近”、“名称”等基本信息。有人可以帮忙吗?

【问题讨论】:

  • 请编辑您的 jsfiddle。我们看不到日志,因为有资源错误。
  • 试试弗拉德:jsfiddle.net/aboother/4q3jcg1s
  • 小提琴有效,很快找到了解决方案。

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


【解决方案1】:

您使用该服务:service.nearbySearch() 根据某些条件搜索附近。同样有以下服务:service.getDetails() 获取所有透视细节。我不太确定,但据我了解,该服务使用 placeID 来匹配并获取与该位置有关的所有详细信息。

关于您的代码,不要直接为每个地点创建标记,而是将其传递给 getDetails() 服务,然后创建标记。我记录了该地点,所有详细信息都在那里,您可以根据需要使用数据。

下面是修改后的代码:

function callback(results, status) {
    if(status == google.maps.places.PlacesServiceStatus.OK) {
        for(var i = 0; i < results.length; i++) {            
            service.getDetails(results[i], function(place, status) {
                if (status == google.maps.places.PlacesServiceStatus.OK) {
                    var marker = new google.maps.Marker({
                        map: map,
                        position: place.geometry.location
                    });
                    console.log(place);
                    google.maps.event.addListener(marker, 'click', function() {
                        infowindow.setContent(place.name);
                        infowindow.open(map, this);
                    });
                }    
            });
        }
    }
}

这里是小提琴:使用您用来扩展每个位置的任何控制台,您将看到他们的所有数据,从电话号码到他们的评论:http://jsfiddle.net/r61tqtxw/1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多