【发布时间】:2013-04-24 12:53:46
【问题描述】:
我想获取此地址的经纬度:Boulevard de la Marne Zone industrielle, COULOMMIERS, 77120, France
我正在将 api 添加到我的页面中:
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true"></script>
当我使用 gmaps 时结果很好,但当我想通过 API 检索它时:
geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': myAdress, 'region': 'FR'}, function (results, status) {...});
它执行以下请求:
https://maps.googleapis.com/maps/api/js/GeocodeService.Search?4sBoulevard%20de%20la%20Marne%20%20Zone%20industrielle%20%20COULOMMIERS%2077120%20&7sUS&9sfr-FR&callback=_xdc_._lsoj9s&token=53058
结果就在巴马科附近……
如果我使用视口边界,它会执行以下请求:
https://maps.googleapis.com/maps/api/js/GeocodeService.Search?4sBoulevard%20de%20la%20Marne%20%20Zone%20industrielle%20%20COULOMMIERS%2077120%20&6m6&1m2&1d40.513799&2d-5.844727000000034&2m2&1d51.727028&2d10.854491999999936&7sUS&9sfr-FR&callback=_xdc_._c84svr&token=29019
它更好(它在法国),但事实并非如此
似乎获得它的唯一方法是执行以下请求: http://maps.googleapis.com/maps/api/geocode/json?address=Boulevard%20de%20la%20Marne%20Zone%20industrielle,%20COULOMMIERS,%2077120&components=country:FR&sensor=false
我不明白为什么我使用视口而不是国家时结果不同(两个结果都在视口的范围内)
【问题讨论】:
-
Google 地图更像是场所服务的实现而非地理编码,因此您可以考虑同时请求场所服务
标签: javascript google-maps google-maps-api-3 google-geocoder