放置自动填充API以从输入的地址获取GPS坐标

时间:2013-02-18 22:06:45

标签: android google-places-api google-geocoder google-geocoding-api

我的应用中有一个地址字段,用户需要输入所需的地址。我使用谷歌地理编码器来获取地址的GPS坐标。但现在我想通过使用地方自动填充功能让用户更轻松。但地方自动填充仅返回地址,ID和地点的参考。

有没有办法使用Places Autocomplete API获取用户选择的地址的GPS坐标?用户从“地方自动填充”中选择地址后,是否必须再次使用地理编码器?

或者我应该在用户选择地址后再次使用Places API来获取地址的GPS坐标?由于使用限制,我不想向Places API发送多个请求。 。这是Places API的预期响应。响应中没有GPS坐标。

"status": "OK",
  "predictions": [ {
    "description": "Paris, France",
    "id" : "691b237b0322f28988f3ce03e321ff72a12167fd",
    "reference": "CiQYAAAA0Q_JA...kT3ufVLDDvTQsOwZ_tc",
    "terms": [ {
      "value": "Paris",
      "offset": 0
    }, {
      "value": "France",
      "offset": 7
    } ],
    "types": [ "geocode" ],
    "matched_substrings": [ {
      "offset": 0,
      "length": 5
    } ]
  }, {
    "description": "Paris, TX, United States",
    "id" : "518e47f3d7f39277eb3bc895cb84419c2b43b5ac",
    "reference": "CjQjAAAAHnbxZZ...BDR3iIOFdMTxwo1jHg",
    "terms": [ {
      "value": "Paris",
      "offset": 0
    }, {
      "value": "TX",
      "offset": 7
    }, {
      "value": "United States",
      "offset": 11
    } ],
    "types": [ "geocode" ],
    "matched_substrings": [ {
      "offset": 0,
      "length": 5
    } ]
  }, {
    "description": "Paris, Ontario, Canada",
    "id" : "e7ac9c89d4a590305242b0cb5bf43064027223c9",
    "reference": "CjQhAAAAIv_YWYt...F8KZHY36TwMrbyu_g",
    "terms": [ {
      "value": "Paris",
      "offset": 0
    }, {
      "value": "Ontario",
      "offset": 7
    }, {
      "value": "Canada",
      "offset": 16
    } ],
    "types": [ "geocode" ],
    "matched_substrings": [ {
      "offset": 0,
      "length": 5
    } ]
  }

1 个答案:

答案 0 :(得分:13)

您只需使用Places API的Place Details部分,即可使用“引用”值从每个建议中的引用中获取实际位置。例如:

https://maps.googleapis.com/maps/api/place/details/json?reference=CiQYAAAA0Q_JA...kT3ufVLDDvTQsOwZ_tc&sensor=true&key=AddYourOwnKeyHere

这将为您提供有关该地点的信息,包括其坐标(特定位置的点,区域的边界)。