我有一个要求,我需要通过提供地址来获取纬度和经度这里是我使用的两个不同版本的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密钥,第二个没有API密钥。我想知道
a)为什么我需要使用API密钥 什么时候我可以获取结果没有 定义密钥。
b)哪一个更可行的API 我的目的是获取纬度 和经度..
答案 0 :(得分:7)
第一个网址是v2 of the Geocoding API,第二个网址是v3。
<强> V2 强>
使用哪一个取决于(至少部分)你将要使用它的环境 - 如果你想在一个带有JavaScript的网页中使用它,你将不得不使用v2,因为它有JSONP支持(除非您想添加服务器端组件以解决跨域问题)。 JavaScript的替代方法是JavaScript API Geocoder service。
如果您在桌面应用程序或服务器端使用API,则可以使用其中任何一种,但建议使用v3。
与v2(每天1500个请求)相比,v3的查询限制也更高(每天2500个请求)
答案 1 :(得分:2)
第一个网址是Google Maps v2,第二个网址是Google Maps v3
v2已被弃用,但这并不意味着你不能使用它,它只是
表示“谷歌将继续修复3年的错误,如果有的话,但是没有
将添加新功能。
您可以继续使用它
期间。“
1)Google Maps v3不支持JSONP
2)谷歌地图v2具有更高的地理编码限制15000而不是(1500)
而谷歌地图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