【发布时间】:2012-06-20 04:35:59
【问题描述】:
“Google Places API”有哪些替代品?不管有没有付费的API服务。
【问题讨论】:
-
stackoverflow.com/questions/12033422/… 的副本,后来出现,但更详细。
标签: api google-places-api
“Google Places API”有哪些替代品?不管有没有付费的API服务。
【问题讨论】:
标签: api google-places-api
我在寻找一种在 iOS 应用程序中为用户输入位置字段实现自动完成字段的方法时也遇到了这个问题。我认为它工作原理的最佳示例之一是在 Apple 的本地天气应用程序中制作的。 “添加新位置屏幕)”上的搜索结果比我尝试过的任何其他服务都多:
- Google Place API(主要替代方案)
- 喊叫
- 四方
- 其他一些。
不幸的是,天气使用 https 请求:(https://gsp-ssl.ls.apple.com)。 :( 似乎没有检索此数据的解决方案。但事实证明,苹果并没有使用他们自己的服务来确定位置。
我检查了地图应用并尝试使用 CLGeocoder 类 - -(void)geocodeAddressString:(NSString *)addressString completionHandler:(仅在 iOS 中存在)
最后一个没用,只找到一个结果,而 Google 给出了大约 5 分(莫斯科的“Mosc”一词)
解决方案: Apple 放弃了 Yahoo 作为天气提供者,选择了TWC (prooflink)。 所以我们的案例不是收集天气状况,而是获取位置,它们也提供什么!
确切地说,让我们比较几个服务:
(上图 - 利用 Place API 的谷歌地图,下图 - Apple 使用的 TWC)
优点 (TWC):
- 可以按城市(邮编、机场等)进行搜索
- 找到更多结果(如果甚至为谷歌查询设置最大半径 - 50 000,它不会找到很多)
- 支持带有自动完成选项的 API
- 非常适合自动完成目的,包含所有基本字段
JSON 如下所示:
{
"name":"Moscu, CUN, COLOMBIA",
"key":"COXX8971:1:CO",
"locId":"COXX8971",
"locType":1,
"cityNm":"Moscu",
"cntryCd":"CO",
"_country":"COLOMBIA",
"stCd":"CUN",
"stNm":"Cundinamarca",
"bigCity":false
},
缺点:
- 如果您需要地理编码选项或查询地点,则功能远不如 Google。
- 处理请求比谷歌慢
【讨论】:
你可以试试 openStreetMap 一个开源地图项目http://www.osmfoundation.org/wiki/Main_Page
你也可以找到它是如何工作的信息http://en.wikipedia.org/wiki/OpenStreetMap
是一个非常好的选择,它是由社区为社区制作的。
【讨论】:
我不知道为什么每次投票,但第一个投了反对票。看起来很粗略...
无论如何,OpenStreetMaps 可能是一个可能的选择,但根据我的经验,与其他服务相比,它们没有太多关于企业的数据。
Bing 地图是另一个不错的选择。它是 Facebook 用于他们的“地点”页面的东西,而且它似乎有相当多的数据。
Foursquare 绝对是一个不错的选择...如果您留在美国。与 Google 相比,它们的费率相当具有竞争力,但您必须处理重复的条目和一些未完全填写的信息。
我前段时间研究了 Yelp 的 API,所以我不记得它们有多好。我只记得他们提供的服务不如 Bing、Google 和 Foursquare 好。
所有这些都是付费服务,除了 OpenStreetMaps。如果我没记错的话,谷歌拥有最好的企业整体数据,但在定价方面,Foursquare 占了上风。最后,这完全取决于您的具体需求,因为它们都是非常不错的选择。
【讨论】:
好吧,据我所知,如果你要使用geo api,它必须是一家大公司。那么,必应地图,或者中国最大的互联网公司百度的百度地图呢?
【讨论】:
他们是:
它们都有自己的 API,任何人都可以使用。
【讨论】:
试试 Foursquare.com,它的免费和使用限制非常可观。每小时 5000 个请求。
【讨论】: