替代谷歌地图地理定位API
Alternative to Google Maps Geolocation API
我正在做一个项目,该项目每秒涉及大量实时数据(通过websocket实现)。正因为如此,它无法处理调用Google的API将城市+地区转换为长纬度坐标。我的成功率大约是1到100。除了City&协调谷歌API服务的地区?理想情况下,本地存储此类数据的JSON数组?
您可以使用雅虎提供的名为YQL的服务。这项服务对数量有限的请求是免费的,每天最多100000次。然后,您可以在query/results/place/centroid
从响应XML中检索纬度和经度。
我在这项服务中注意到的一件事是,城市名称需要准确,而且可能会有多个结果。
http://developer.yahoo.com/yql/
示例YQL查询:
http://query.yahooapis.com/v1/public/yql?q=SELECT * FROM geo.places WHERE text="Seattle" and placeTypeName = "Town"
响应XML:
<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="1" yahoo:created="2012-07-09T16:20:40Z" yahoo:lang="en-US">
<results>
<place xmlns="http://where.yahooapis.com/v1/schema.rng" xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/2490383">
<woeid>2490383</woeid>
<placeTypeName code="7">Town</placeTypeName>
<name>Seattle</name>
<country code="US" type="Country">United States</country>
<admin1 code="US-WA" type="State">Washington</admin1>
<admin2 code="" type="County">King</admin2>
<admin3/>
<locality1 type="Town">Seattle</locality1>
<locality2/>
<postal/>
<centroid>
<latitude>47.603561</latitude>
<longitude>-122.329437</longitude>
</centroid>
<boundingBox>
<southWest>
<latitude>47.422359</latitude>
<longitude>-122.472153</longitude>
</southWest>
<northEast>
<latitude>47.745071</latitude>
<longitude>-122.176193</longitude>
</northEast>
</boundingBox>
<areaRank>6</areaRank>
<popRank>12</popRank>
</place>
</results>
</query>
<!-- total: 82 -->
<!-- engine5.yql.mud.yahoo.com -->
看看datasciencetolkit.org。它们提供了一个虚拟机映像/AMI,您可以将其托管在EC2上,并对自己的服务器进行地理定位调用,因此没有API限制。
还有雅虎的地理定位API,它的限制比谷歌的更高。
通常,当您处理大量数据点时,您会在服务器上对它们进行一次地理编码。然后,您可以将lat/long流式传输到准备使用的客户端。
谷歌有一个地理编码网络服务,你可以在服务器上使用,但每天的请求限制为2500。如果这不起作用,你也可以看看OSM的Nomatim;Mapquest托管一个没有限制的web服务。
- 地理定位api和谷歌地图出错
- 地理定位API从Chrome 50中的不安全来源中删除
- 如何用HTML5地理定位API实现承诺
- 当站点不是其URL的根时,如何在getJSON调用中定位API
- Javascript回调和地理定位API
- 替代谷歌地图地理定位API
- 地理定位api:如何知道用户是否点击了关闭或阻止按钮
- 地理定位api没有给出准确的用户位置
- 异步地理定位API和jQuery延迟对象
- 谷歌地图Api HTML5地理定位与安卓定位Api
- 获取用户邮政编码与谷歌地理定位API, W3C地理定位和谷歌反向地理编码
- 通过HTML5地理定位API以外的方式识别用户的地理位置
- 使用必应定位API抓取坐标并使用它创建交互式地图
- 如何做反向地理编码与Cordova地理定位API获得城市和国家
- 计算我的速度与地理定位API javascript
- 为什么PhoneGap地理定位API导致我的页面加载如此缓慢
- W3C地理定位API位置数据库
- 地理定位API不起作用
- 地理定位api javascript
- W3C地理定位API不适用于Chrome