javascript - Google Map API - 获取有关一个坐标的信息

标签 javascript google-maps google-maps-api-3

我正在使用 javascript googlemap API。 我希望用户定义一个城市名称。然后我将名称 + 坐标存储在数据库中。

这很容易做到,但问题是:

  • 如果用户输入错误(例如 Paaris 而不是 Paris),Google 可以理解,但我不知道最终名称(正确的名称),所以我在数据库中创建(或重新创建)一个错误的条目。
  • 如果用户输入国家/地区名称,它会起作用,但我只想要城市。

那么我可以知道一个特定坐标下的城市名称吗?国家的理想?我可以知道它下面是否没有城市或国家吗? 你对我的问题有其他想法吗?

谢谢!

最佳答案

您不需要反向地理编码。

使用 Google 的地理编码器获取城市的纬度/经度。 Google 将返回它在响应中找到的城市名称:

这是一个拼写错误的 Paris 的地理编码请求: http://maps.googleapis.com/maps/api/geocode/json?address=Paaris&sensor=false

Google 会在响应中为您提供正确的位置...

{
  "status": "OK",
  "results": [ {
    "types": [ "locality", "political" ],
    "formatted_address": "Paris, France",
    "address_components": [ {
      "long_name": "Paris",
      "short_name": "Paris",
      "types": [ "locality", "political" ]
    }, {
      "long_name": "Paris",
      "short_name": "75",
      "types": [ "administrative_area_level_2", "political" ]
    }, {

所以...

  1. 城市用户类型
  2. 您使用 Google 的地理编码服务对其进行地理编码
  3. 如果地理编码成功,则从地理编码响应中获取实际城市并将其与坐标一起添加到数据库中
  4. 如果地理编码失败提醒用户。

作为中间步骤,您还可以检查输入的城市是否与 google 找到的城市不同,并与用户核实。

关于javascript - Google Map API - 获取有关一个坐标的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4167357/

相关文章:

javascript - Google Maps API - 在 map 外显示标记信息

javascript - 如何构建用户名验证器

javascript - 无法使用 Angular 原因 ng-controller 发布帖子

javascript - 你能通过 AJAX 将谷歌地图插入到页面中吗

javascript - Google map API v3 无法在 Wordpress 中运行

javascript - Google map api,如何处理同一位置的所有标记(重叠标记)的标记悬停事件?

javascript - IE11 的 URL Polyfill

javascript - 谷歌应用程序脚本: Illegally formed XML syntax

ios - 如何快速隐藏谷歌地图标记

angularjs - Google map 第二次无法加载 - AngularJS