谷歌地图和谷歌地图api给出不同的纬度和长度

时间:2018-03-12 11:46:46

标签: javascript .net google-maps google-api google-geocoding-api

我们正面临着从谷歌地图API获取拉特和长期的问题。实际上,我们正在使用google map api从地址获取lat和long。

但是在某些情况下,谷歌地图api并没有提供准确的纬度和长度,但如果我们直接将地址搜索到谷歌地图,如下面提到的谷歌地图URL,则获得准确的纬度和长度。

Google地图网址:https://www.google.com/maps/place/mc carter hwy&维罗纳ave newark nj

Google Map API网址:https://maps.googleapis.com/maps/api/geocode/xml?address=mc carter hwy&维罗纳ave newark nj

请为此建议替代解决方案。如果我们可以用谷歌地图api解决那么它是好的。

2 个答案:

答案 0 :(得分:2)

查看encodeURI()

空格和符号(特别是&)可能会干扰您为API提供的网址。

编辑:更具体一点,请注意整个链接不是超链接,而是在空格后停止:

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

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

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

答案 1 :(得分:0)

网址中不允许

&。改为使用“和”:

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

link

返回:

<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>