我想获得这个地址的经纬度: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
我不明白为什么当我使用视口而不是国家时结果是不同的(两个结果都在视口的边界内)
答案 0 :(得分:1)
Boulevard de la Marne Zone industrielle,COULOMMIERS,77120,France不是地址,它是一个“地方”。
地理编码器从该输入中找到Via De La Marne的位置:
http://www.geocodezip.com/v3_example_geo2.asp?addr1=Boulevard de la Marne Zone industrielle,COULOMMIERS,77120,France&amp; geocode = 1
Found 1 results for Boulevard de la Marne Zone industrielle, COULOMMIERS, 77120, France
[ 0 ]: Av De La Marne, Bamako, Mali (12.6417952, -7.988396299999977)
Places API的第一个结果看起来更正确:
http://www.geocodezip.com/v3_example_geo2.asp?addr1=Boulevard de la Marne Zone industrielle,COULOMMIERS,77120,France&amp; place = 1
Found 20 results for Boulevard de la Marne Zone industrielle, COULOMMIERS, 77120, France
[ 0 ]: Zone Industrielle, Boulevard de la Marne, Coulommiers, France (48.804329, 3.0923729999999523)
[ 1 ]: Boulevard de la Marne, Coulommiers, France (48.803048, 3.092110000000048)
[ 2 ]: 21 Boulevard de la Marne, Coulommiers, France (48.806634, 3.0937430000000177)
...
答案 1 :(得分:0)
这里有2件事情在发挥作用。
“Boulevard de la Marne Zone industrielle,COULOMMIERS,77120,France”由于“Zone industrielle”部分而未被地理编码API认可。如果删除该部分,它可以正常工作:
Boulevard de la Marne, COULOMMIERS, 77120, France
此外,我在Google地图数据中发现了一个问题(一个罕见的例子),但我不认为修复它会对上述问题有所帮助。
地点是由Places API文字搜索找到的:
当您通过place_id查询地方详情时,您会注意到route
中没有address_components
个组件。这表明该地点与道路没有正确关联。