通过zip和对象名称查找位置

时间:2010-08-17 08:43:11

标签: google-maps geocoding

我想创建经度,纬度和拉链以及对象名称(例如麦当劳)的应用程序。我试图通过谷歌地图地理编码器这样做,但我的想法是错误的,因为地理编码器返回奇怪的结果。也许有人知道通过zip / name获取位置的服务或策略,请告诉我。

2 个答案:

答案 0 :(得分:0)

您可以使用maps.google.com搜索框中的相同搜索字符串测试Google地理编码器。例如“McDonalds 2000 Australia”,返回适当的地理编码结果。你包括这个国家吗?这可能会澄清搜索结果。

答案 1 :(得分:0)

标签中的

reverse-geocoding表示具有给定纬度和经度的地理位置。

如果您想对地图进行地理编码,则应使用Google Maps Geocode API。

http://maps.google.com/maps/api/geocode/json?address=Sydney&sensor=false

结果你有:

{
  "status": "OK",
  "results": [ {
    "types": [ "locality", "political" ],
    "formatted_address": "Sydney Nowa Południowa Walia, Australia",
    "address_components": [ {
      "long_name": "Sydney",
      "short_name": "Sydney",
      "types": [ "locality", "political" ]
    }, {
      "long_name": "Nowa Południowa Walia",
      "short_name": "NSW",
      "types": [ "administrative_area_level_1", "political" ]
    }, {
      "long_name": "Australia",
      "short_name": "AU",
      "types": [ "country", "political" ]
    } ],
    "geometry": {
      "location": {
        "lat": -33.8671390,
        "lng": 151.2071140
      },
      "location_type": "APPROXIMATE",
      "viewport": {
        "southwest": {
          "lat": -33.8764033,
          "lng": 151.1911066
        },
        "northeast": {
          "lat": -33.8578737,
          "lng": 151.2231214
        }
      },
      "bounds": {
        "southwest": {
          "lat": -33.8797030,
          "lng": 151.1970330
        },
        "northeast": {
          "lat": -33.8559920,
          "lng": 151.2229770
        }
      }
    }
  } ]
}

results数组中,您有结果对象。坐标位于geometry->location。 没有什么比这更简单了。

以下是参考:http://code.google.com/intl/pl-PL/apis/maps/documentation/geocoding/#GeocodingRequests