我从https://developers.google.com/maps/documentation/javascript/places#find_place_from_query跟踪了findPlaceFromQuery()方法的代码示例。
我有查询部分的确切代码。但是,返回的PlacesServiceStatus
始终不正常。我尝试更改query
对象中的request
值,但结果始终相同。
知道为什么会这样吗?
我粘贴下面的相关代码段以便于参考。它与示例代码大致相同。我刚刚在最后添加了else
子句:
var map;
var service;
var infowindow;
function initMap() {
var mapCenter = new google.maps.LatLng(-33.8617374,151.2021291);
map = new google.maps.Map(document.getElementById('map'), {
center: mapCenter,
zoom: 15
});
var request = {
query: 'Museum of Contemporary Art Australia',
fields: ['photos', 'formatted_address', 'name', 'rating', 'opening_hours', 'geometry'],
service = new google.maps.places.PlacesService(map);
service.findPlaceFromQuery(request, callback);
}
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
var place = results[i];
createMarker(results[i]);
}
}
else{
alert("status bad");
}
}
答案 0 :(得分:0)
要使此代码正常工作,人们需要注意几个先决条件。为了使places API请求起作用,必须执行以下操作:
&libraries=places
。这是因为places API不是maps API的标准配置。 <script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY& libraries=places&callback=YOUR_CALLBACK_METHOD"></script>