为什么Geocoder google不想识别更多地址?

时间:2012-10-26 14:21:46

标签: php javascript location coordinates google-geocoder

我有一个带坐标的数组(lat,long)...... 这个阵列有大约60-80个项目......

在我的foreach周期中有......

...{
$lat = substr($xx[1],0,8);
$long = substr($xx[0],0,8);

?>

<script type="text/javascript">
// <![CDATA[
$(function() {

   var geocoder = new google.maps.Geocoder();

function geocodePosition(pos,pos2) {
  geocoder.geocode({
    latLng: new google.maps.LatLng(pos,pos2)
  }, function(responses) {
if (responses && responses.length > 0) {
   console.log(responses[0].formatted_address);
} else {
   console.log('Cannot determine address at this location.');
    }
  });
}
geocodePosition(<?php echo $lat ?>,<?php echo $long ?>);

}); 

// ]]>
</script>

<?php } ...

Geocoder地理编码位于最多5个坐标处,其他地址带有输出'无法确定此位置的地址。'

当我选择其中一些“无法确定”时,我会手动使用它们(只有1项= lat和long,而不是整个数组)。

那么问题出在哪里?

1 个答案:

答案 0 :(得分:1)

你不能连续请求地址太快(被谷歌阻止),你需要在内部循环中使用小的setTimeout()。另请注意,基本API每天只能请求2500个地址,业务量超过100000 source from google.

How to avoid google map geocode limit

Setting timeout to simulate pause

Geocode markers from PHP array

Avoid geocode limit - js / html source