这两个Google Maps地理编码API的URL有什么区别?

9

我有一个需求,只需要通过提供地址来获取纬度和经度。以下是我使用的两个不同版本的Google Maps Geocoding API URL,它们输出几乎相同的结果。

http://maps.google.com/maps/geo?output=xml&key=MyApiKey&oe=utf-8&q=Bhatkal,%2CKarnataka,%2CIndia

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=Bhatkal,%2CKarnataka%2C,India

第一个是需要API密钥,第二个不需要。我想知道:
a)为什么我需要使用API密钥,当我可以在没有定义密钥的情况下获取结果。
b)哪一个API更适合我仅仅需要获取纬度和经度的目的。
2个回答

8
第一个URL是Geocoding API的v2版本,第二个URL是v3版本v2
  • 现在已过时
  • 需要API密钥
  • 支持JSONP(未记录文档)

  1. 使用哪个版本取决于你将在哪个环境中使用它 - 如果你想在带有JavaScript的网页中使用它,你必须使用v2,因为它支持JSONP(除非你想添加服务器端组件以解决跨域问题)。JavaScript的另一种选择是JavaScript API Geocoder service

  2. 如果你在桌面应用程序或服务器端使用API,则可以使用任何一个版本,但建议使用v3。

  3. v3也具有更高的查询限制(每天2500个请求),而v2则为每天1500个请求。


提醒一下:"V2 API将继续工作直到2013年3月8日" - 请参见https://developers.google.com/maps/documentation/geocoding/v2/。 - Funka

2
第一个URL是Google Maps v2,第二个是Google Maps v3。
v2已经被弃用,但这并不意味着你不能使用它,它只表示“如果有任何问题,谷歌将继续修复3年,但不会添加新功能。
即使在此期间后,您仍然可以继续使用它。”

1)Google Maps v3不支持JSONP
2)Google Maps v2具有更高的地理编码限制15000而不是(1500),而Google Maps v3具有2500的地理编码限制。
3)Google Maps v2支持4种输出格式
https://code.google.com/apis/maps/documentation/geocoding/v2/index.html
4)Google Maps v3仅支持2种格式json和kml。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接