【发布时间】:2016-09-26 15:01:55
【问题描述】:
我正在将 Google Maps API 集成到我正在开发的网站中。在大多数情况下,它按预期执行。但是,当调用 nearSearch 服务时,我很难获得返回的 url(到该位置的谷歌地图页面)。根据我对 Google 文档的理解,此调用返回具有各种属性的 PlaceResult 对象,包括 url。我能够正确访问其他两个属性,名称和附近,但 url 属性返回为未定义。问题可能是什么?谢谢。
相关代码sn-p:
var keyword = document.getElementById("searchBox").value;
var requestOptions = {
location: { lat: 37.3011339, lng: -89.5770238},
radius: '5000',
keyword: keyword
};
placesService = new google.maps.places.PlacesService(hotelMap);
placesService.nearbySearch(requestOptions, findCallback);
});
}; // end initiallize
function findCallback(results, status) {
var resultsList = "";
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
alert(results[i].url); // this returns undefined
resultsList += "<li>" + results[i].name + ": " + results[i].vicinity + " - <a href='" + results[i].url + "'>View Details</a></li>";
}
document.getElementById("searchList").innerHTML = resultsList;
}
}
供参考:
https://developers.google.com/maps/documentation/javascript/reference#PlaceResult
【问题讨论】:
-
在更多地点测试?您正在查看的地方实际上可能没有谷歌页面?或者,使用网站对象并仅在可用时显示。