【问题标题】:Determine if a string is a valid geographic location确定字符串是否是有效的地理位置
【发布时间】:2011-01-11 23:18:41
【问题描述】:

我有一堆“位置”——有些是准确的(哈博罗内、博茨瓦纳),有些是地理编码(40.75,-73.997),有些完全没用(#siliconcape)。我需要找到一种方法来遍历列表并确定每个字符串和地理编码的城市和国家,并为无效位置返回空值。

是否有某种库/服务/api/方法可用于确定给定字符串是否代表有效的地理位置?同时考虑拼写错误、订购错误等?

【问题讨论】:

    标签: php api google-maps geolocation maps


    【解决方案1】:

    可能最简单的方法是使用Google Geocoding API 之类的方法。它将接受一个字符串并尝试将其解析到一个位置。您可以获得 XML、JSON、CSV 格式的输出。

    这是一些 CSV 输出示例:

    input : gaborone, botswana
    output: 200,4,-24.6541100,25.9087390
    
    input : #siliconcape
    output: 602,0,0,0
    
    input : 40.75,-73.997
    output: 200,8,"324 W 30th St, New York, NY 10001, USA"
    

    【讨论】:

    • 哈哈,好时机,哈哈——我自己发现了,加上示例代码:)
    • 请注意,根据您的用户群规模,Google Geocoding API 可能不是最佳选择,因为它每天的请求数量有限。 MapQuest 的 API 虽然不如 Google,但没有任何限制。
    • “24 小时内 15,000 次地理编码请求”
    【解决方案2】:

    我想我已经找到了解决方案 - 在这里分享一下,以防其他人需要它:

    使用 Google Maps API 地理编码 - 输入地址并获取坐标。通过 PHP 进行操作的详细信息:http://www.phpriot.com/articles/google-maps-geocoding/

    【讨论】:

      猜你喜欢
      • 2012-03-21
      • 2016-04-13
      • 2010-10-21
      • 2011-01-08
      • 2023-03-21
      • 1970-01-01
      • 2012-04-02
      • 2014-01-29
      • 2011-09-05
      相关资源
      最近更新 更多