Google 地图和 Google 地图 api 给出不同的经纬度

Google map and Google map api giving different different lat and long

我们面临从 Google 地图 API 获取纬度和经度的问题。实际上,我们正在使用 google map api 从地址获取纬度和经度。

但在某些情况下,google 地图 api 没有提供准确的经纬度,但如果我们直接在 google 地图中搜索地址,则可以获得准确的经纬度,如下所述 google地图URL。

Google 地图 URL : https://www.google.com/maps/place/mc carter hwy & verona ave newark nj

Google 地图 API URL : https://maps.googleapis.com/maps/api/geocode/xml?address=mc carter hwy & verona ave newark nj

请提出相同的替代解决方案。如果我们可以用 google map api 解决,那就太好了。

查看 encodeURI()

可能 space 和符号(特别是 &)干扰了您为 API 提供的 URL。

编辑:更具体一点,请注意整个 link 不是 hyperlink 并且它在 space:

之后停止

https://maps.googleapis.com/maps/api/geocode/xml?address=mc carter hwy & verona ave newark nj

现在这里是与您的查询编码相同的字符串:

https://maps.googleapis.com/maps/api/geocode/xml?address=mc%20carter%20hwy%20%26%20verona%20ave%20newark%20nj

& 不允许出现在 URL 中。使用 "and" 代替:

https://maps.googleapis.com/maps/api/geocode/xml?address=mc carter hwy and verona ave newark nj

link

returns:

<GeocodeResponse>
 <status>OK</status>
 <result>
  <type>route</type>
  <formatted_address>NJ-21, New Jersey, USA</formatted_address>
  <geometry>
   <location>
    <lat>40.7917804</lat>
    <lng>-74.1448213</lng>
   </location>