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

时间:2010-11-12 17:24:34

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

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

这很容易,但问题是:

  • 如果用户犯了错误(例如Paaris而不是Paris),Google会理解,但我不知道最终名称(正确名称),所以我在db中创建(或重新创建)错误条目。 / LI>
  • 如果用户输入国家/地区名称,则可以使用,但我只想要城市。

我可以在一个特定坐标下知道城市的名称吗?同意国家?我可以知道它下面没有城市或国家吗? 你对我的问题还有其他想法吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:3)

我认为反向地理编码是您正在寻找的。您可以通过传递坐标here找到获取国家,城市和其他位置详细信息的详细信息。

答案 2 :(得分:3)

您不需要反向地理编码。

使用Google的地理编码器获取城市的纬度/经度。 Google将在其回复中返回其所在城市的名称:

以下是巴黎拼写错误的地理编码请求: 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" ]
    }, {

... SO

  1. 城市中的用户类型
  2. 您使用Google的地理编码服务对其进行地理编码
  3. 如果地理编码成功,请从地理编码响应中获取实际城市,并使用坐标
  4. 将其添加到数据库
  5. 如果地理编码失败则提醒用户。
  6. 作为中间步骤,您还可以检查输入的城市是否与Google找到的城市不同,并与用户进行验证。