Places Autocomplete API для получения GPS-координат с введенного адреса

У меня есть поле адреса в моем приложении, где пользователю нужно ввести требуемый адрес. Я использовал Google Geocoder, чтобы получить GPS-координаты адреса. Но теперь я хочу упростить задачу пользователю, используя автозаполнение мест. Но автозаполнение мест возвращает только адрес, идентификатор и ссылку на место.

Есть ли способ получить GPS-координаты адреса, выбранного пользователем, с помощью API автозаполнения мест? Должен ли я снова использовать Geocoder после того, как пользователь выберет свой адрес из автозаполнения мест?

Или я должен снова использовать 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
    } ]
  }


person simha    schedule 18.02.2013    source источник


Ответы (1)


Вы просто используете часть Place Details API Places, где вы получаете фактическое место из ссылка в каждом предложении с использованием значения «ссылка». Например:

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

Это даст вам информацию о месте, включая его координаты (точка для определенного места, границы области).

person thomasskov    schedule 21.02.2013
comment
Если вам нужен прямой доступ к JavaScript, вы также можете использовать PlacesService из Maps API. developers.google.com/maps/documentation/javascript/3. эксп/ - person thomasskov; 21.02.2013
comment
используйте place_id вместо ссылочного ключа... например: карты .googleapis.com/maps/api/place/details/ Ссылка: разработчики. google.com/places/documentation/details - person xydev; 30.07.2014
comment
используйте «placeid», а не «place_id», как указано @xydev - person phirschybar; 23.08.2014
comment
а как насчет ограничения квоты? - person dbaq; 27.09.2014