Rya*_*yan 11 api json google-maps filtering google-maps-api-3
Google Maps API可以很好地找到几乎每个查询的匹配项.但如果我只对真实位置感兴趣,我该如何筛选出谷歌的猜测呢?
例如,据Google称," under a rock"位于" The Rock, Shifnal, Shropshire TF11, UK".但是一个回答这个问题的人,"你在哪里?" "在岩石下"并不代表他们在英国什罗普郡.相反,他们只是不想告诉你 - 好吧,无论是那个还是他们真的遇到麻烦,谢天谢地,网络访问,陷入困境.
我有几百万用户生成的位置字符串,我正试图找到坐标.如果有人写下"在岩石下",我宁愿只留下坐标,null而不是在英国什罗普郡放一个明显错误的点.
以下是其他一些例子:
最终,我是一个可靠的方法从字符串返回坐标但如果位置如上所述则返回false.
我需要构建一个返回以下内容的函数:
您有什么推荐的吗?
这是一个逗号分隔的数组,供您在家玩:
'twin cities','right behind you','under a rock','nowhere','canada','mission district san francisco','chicago','a galaxy far far away','london, england','1600 pennsylvania ave, washington, d.c.','california','41.87194,12.56738','global','worldwide','on the internet','mars'
Run Code Online (Sandbox Code Playgroud)
这是url格式:
'http://maps.googleapis.com/maps/api/geocode/json?address=' + query + '&sensor=false'
ex: http://maps.googleapis.com/maps/api/geocode/json?address=twin+cities&sensor=false
Run Code Online (Sandbox Code Playgroud)
小智 4
看来大多数不正确的结果都将“partial_match”属性设置为“true”。
例如
双城,没有部分匹配: http://maps.googleapis.com/maps/api/geocode/json? address=Twin%20Cities&sensor=false
在岩石下,10 多个结果,全部部分匹配: http://maps.googleapis.com/maps/api/geocode/json ?address=under%20a%20rock&sensor=false
尽管此属性的最初目的不是告诉地点是否正确,但它在您提供的数据集上仍然相当准确。
来自 Google 地图 API 文档:
partial_match 表示地理编码器没有返回原始请求的精确匹配,尽管它能够匹配部分请求的地址。您可能希望检查原始请求是否有拼写错误和/或地址不完整。
部分匹配最常发生在您在请求中传递的区域内不存在的街道地址上。当请求与同一地点的两个或多个位置匹配时,也可能返回部分匹配。例如,“21 Henr St, Bristol, UK”将返回 Henry Street 和 Henrietta Street 的部分匹配项。请注意,如果请求包含拼写错误的地址部分,地理编码服务可能会建议备用地址。以这种方式触发的建议不会被标记为部分匹配。
| 归档时间: |
|
| 查看次数: |
741 次 |
| 最近记录: |