【发布时间】:2012-10-04 06:12:05
【问题描述】:
我正在尝试使用 googlemaps 地理编码器检索地址..但我只得到几个地址..因为我看到我的 javascript 在 10 个地址之后无法检索..下面是我的代码
function fetchData(lat,lng,type){
$('#placedata').empty();
myLatlng = new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: myLatlng,
zoom: 10});
var request = {location: myLatlng,radius: 50000,types: [type]};
var service = new google.maps.places.PlacesService(map);
service.search(request, callback);
}
function callback(results, status) {
for (var i = 0; i < results.length; i++) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
createMarker(results[i]);
}
}
}
function createMarker(place) {
place.geometry.location});
var request = {reference: place.reference,};
service = new google.maps.places.PlacesService(map);
service.getDetails(request, detailsDisplay);
function detailsDisplay(details, status) {
$('#placedata').append('<tr><td><a href='+details.url+'>'+details.name+'</a></td></tr>');
}
}
我看到很多人有同样的问题..有没有办法或使用 setTimeout 函数并延迟请求,所以我得到至少 20 个地址..任何帮助将不胜感激..谢谢
【问题讨论】:
-
OVER_QUERY_LIMIT是网页超出其请求配额的时间,根据 Maps API 库,为 25.000。当您获得第十条记录时,可能会发生一些错误。你检查callback()函数中的status了吗? -
警报语句给出了所有 20 个结果..如何检查状态
-
akert(ok);当我反复点击我得到 20 个结果
-
好的,但是这个警报在哪里?要检查一切是否正常,您需要检查回调中的所有 20 个
status是否返回google.maps.places.PlacesServiceStatus.OK。 -
对不起,我没有得到你...获得 20 个结果,但无法在第一次运行时显示...我只能显示 10
标签: javascript google-maps-api-3 google-geocoder