【问题标题】:Find nearby cities using Geocoding API使用 Geocoding API 查找附近的城市
【发布时间】:2022-10-08 06:03:04
【问题描述】:

是否可以使用地理编码 API 搜索具有给定城市或纬度经度的附近城市?

例如用户输入City A,则结果是城市A附近的城市列表。

如果不可能,您对使用其他可以使用的 API 或参考有什么建议吗?

【问题讨论】:

    标签: php laravel google-geocoding-api


    【解决方案1】:

    你应该使用的是Nearby Search使用Places API.

    您可以使用radius 参数来限制附近搜索的距离,还可以根据您的需要或需要指定types 参数。

    您可以在其表 3 上使用这些类型:

    1. (regions) 类型集合指示 Places 服务返回任何 结果匹配以下类型:
      • 地区
      • 次区域性
      • 邮政编码
      • 国家
      • administrative_area_level_1
      • administrative_area_level_2
      1. (cities) 类型集合指示 Places 服务返回匹配 localityadministrative_area_level_3 的结果。

        参考:Table 3: Type collections supported in Place Autocomplete requests

        如果您想了解更多信息,我建议您从他们的文档中阅读更多内容。这是开始的链接:Places API Docs

        希望这可以帮助。

    【讨论】:

    • 它只返回选定的位置而不是附近。 params: location:-7.546839,112.226479,radius:100000, type:administrative_area_level_2
    • 您只能使用 regionscities 作为类型。这是一个例子:https://maps.googleapis.com/maps/api/place/nearbysearch/json?&location=-7.546839,112.226479&radius=100000&type=cities&key=YOUR_API_KEY
    • 根据docs,不支持administrative_area_level_2 作为此地点搜索中的type 过滤器。
    • 只给locality我的国家的数据,而在另一个国家,有的给cities的数据,有的只给locality,有的在locality数据和cities数据之间混合
    • 那是因为并非所有国家都表现出相同的行政级别。 API 不保证返回其数据集中地址的任何特定组件。可能被认为是城市的东西,例如布鲁克林,可能不会显示为locality,而是显示为另一个组件——在本例中为sublocality_level_1。参考:docs
    猜你喜欢
    • 2019-04-21
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多