我的街道地址格式为
1 Rue du Four, 60200 COMPIEGNE, France
2 Rue de Lancry, 60200 COMPIEGNE, France
地址列表最多可达10万。十万。
目前我使用谷歌地理代码,但它有限制,如每天2500.我一直收到此错误。
google.maps.GeocoderStatus.OVER_QUERY_LIMIT
然后我设法用下面的超时
来做function codeAddress(markersAddress){
var address = markersAddress.address;
var name = markersAddress.name;
var info = markersAddress.info;
geocoder.geocode({'address': address}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latLng = results[0].geometry.location;
} else {
if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
setTimeout(function() { codeAddress(markersAddress); }, (timeout * 3));
} else {
console.log('Geocode was not successful for the following reason: ' + status);
}
}
});
然而,当有100 000条记录时,这种方法会导致浏览器变慢。那么有没有更好的方法来获得带有api的地理编码?
答案 0 :(得分:2)
离线地址和"缓存"结果(遵守terms of service的时间少于30天),使用坐标显示标记。
更多详细信息:Google地图文档中的Geocoding Strategies文章。