Все готово!

Прежде чем приступить к разработке, ознакомьтесь с документацией для разработчиков.

Активация Google Places API Web Service

Чтобы помочь вам освоиться, мы покажем, как выполнить некоторые необходимые действия в консоли разработчика Google:

  1. Создание или выбор проекта
  2. Активация Google Places API Web Service
  3. Создание соответствующих ключей

Добавление мест

Добавление данных о местах позволяет пополнять базу Google Maps информацией из вашего приложения. Такая возможность позволяет:

  • мгновенно обновлять информацию в базе данных Google для своих пользователей;
  • отправлять данные о новых местах в очередь на проверку с целью их дальнейшего добавления в базу данных Google;
  • выделить свое приложение среди приложений с аналогичными функциями;
  • создавать приложения для конкретной группы пользователей или конкретного региона;
  • влиять на результаты поиска адресов в вашем приложении.
  1. Обзор
  2. Добавление места
  3. Удаление места
  4. Коды состояния
  5. Сообщения об ошибках
  6. Параметр sensor

Обзор

Как только место добавлено, оно сразу же становится доступным в вашем приложении при выполнении поиска мест поблизости. Также данные о новом месте отправляются в очередь на проверку с возможным последующим добавлением в базу данных Google Maps. После одобрения модераторами Google эти места будут отображаться в результатах текстового или массового поиска, а также станут доступны другим приложениям.

Кроме того, места, добавленные из вашего приложения, можно удалить до того, как они пройдут проверку. После того как место одобрено и добавлено в базу данных Google, удалить его невозможно. Места, отклоненные в результате проверки, будут по-прежнему доступны в приложении, из которого они были добавлены.

Добавление места

Запрос на добавление места – это запрос POST в формате HTTP, который выглядит следующим образом:


JSON
POST https://maps.googleapis.com/maps/api/place/add/json?key=YOUR_API_KEY HTTP/1.1
Host: maps.googleapis.com

{
  "location": {
    "lat": -33.8669710,
    "lng": 151.1958750
  },
  "accuracy": 50,
  "name": "Google Shoes!",
  "phone_number": "(02) 9374 4000",
  "address": "48 Pirrama Road, Pyrmont, NSW 2009, Australia",
  "types": ["shoe_store"],
  "website": "http://www.google.com.au/",
  "language": "en-AU"
}
      
XML
POST https://maps.googleapis.com/maps/api/place/add/xml?key=YOUR_API_KEY HTTP/1.1
Host: maps.googleapis.com

<PlaceAddRequest>
  <location>
    <lat>-33.8669710</lat>
    <lng>151.1958750</lng>
  </location>
  <accuracy>50</accuracy>
  <name>Google Shoes!</name>
  <phone_number>(02) 9374 4000</phone_number>
  <address>48 Pirrama Road, Pyrmont, NSW 2009, Australia</address>
  <type>shoe_store</type>
  <website>http://www.google.com.au/</website>
  <language>en-AU</language>
</PlaceAddRequest>
      

Обратите внимание, что в URL-адресе указывается формат ввода и вывода:

  • json (рекомендуется) – задает ввод и вывод в формате JavaScript Object Notation (JSON);
  • xml – задает ввод и вывод в формате XML.

URL-адрес должен содержать следующий параметр:

  • key – ключ API вашего приложения. Этот ключ используется для идентификации приложения в целях управления квотами. Поэтому места, добавленные из вашего приложения, сразу же доступны в нем. Дополнительную информацию см. в документе Получение ключа.

Тело запроса содержит информацию о месте. Оно должно быть структурировано в соответствии с указанным параметром output (JSON или XML).

  • accuracy – точность сигнала о местоположении (в метрах), на котором основан этот запрос.
  • address (рекомендуется для повышения шансов на прохождение проверки) – адрес добавляемого места. Место с удобочитаемым адресом имеет более высокие шансы пройти проверку и быть включенным в базу данных Google Maps.
  • language – язык, на котором передается название места. См. список поддерживаемых языков и их коды. Обратите внимание, что список языков постоянно пополняется, поэтому он может быть неполным.
  • location (обязательно) – географические координаты (широта и долгота) места, которое необходимо добавить.
  • name (обязательно) – полное название места. Не более 255 символов.
  • phone_number (рекомендуется для повышения шансов пройти проверку) – номер телефона добавляемого места. Место с удобочитаемым номером телефона имеет более высокие шансы пройти проверку и быть включенным в базу данных Google Maps. Номер должен быть указан в местном или международном формате.
    • Местный формат зависит от страны. См. статью в Википедии. Например, телефонный номер австралийского офиса Google в Сиднее в местном формате записывается так: (02) 9374 4000.
    • В международном формате указывается код страны и знак плюс (+) перед номером. Тот же телефонный номер австралийского офиса Google в Сиднее в международном формате выглядит так: +61 2 9374 4000.
  • types (обязательно) – категория, к которой относится это место. Категория types может содержать массив, однако в настоящее время для места можно указать только один тип. Для XML-запроса требуется один элемент <type>. См. список поддерживаемых типов. Если месту не соответствует ни один из поддерживаемых типов, присвойте ему тип other.
  • website (рекомендуется для повышения шансов пройти проверку) – URL-адрес официального веб-сайта этого места, например домашней страницы организации. Место с корректным адресом веб-сайта имеет более высокие шансы пройти проверку и быть включенным в базу данных Google Maps.

Ответы на запросы добавления мест

Ответы на запросы добавления мест возвращаются в формате, указанном с помощью параметра output в URL-адресе запроса.

API возвращает код состояния. Кроме того, если запрос выполнен успешно, ответ содержит следующие свойства нового места:

  • place_id – уникальный текстовый идентификатор места. Чтобы извлечь информацию о месте, передайте этот идентификатор в поле placeid запроса данных о месте. Подробные сведения об идентификаторах мест см. в соответствующем обзоре.
  • scope – указывает область действия идентификатора place_id. Возможные значения этого поля:
    • APP – идентификатор места распознается только вашим приложением. Примечание. Ответы на запросы добавления мест всегда имеют область действия APP, поскольку место еще не прошло проверку.
    • GOOGLE – идентификатор места доступен в других приложениях и Google Maps. Как отмечено выше, ответы на запросы добавления мест никогда не будут иметь область действия "Google".
  • reference – уникальный токен, который можно использовать для получения дополнительной информации о месте. Примечание. Вместо параметра reference рекомендуется использовать place_id. См. уведомление о прекращении использования на этой странице.
  • id – содержит уникальный постоянный идентификатор места. Этот идентификатор не позволяет получить информацию о месте, но гарантированно будет действителен для всех сеансов. С его помощью можно объединять данные о месте и идентифицировать его в разных поисковых запросах. Примечание. Вместо параметра id рекомендуется использовать place_id. См. уведомление о прекращении использования на этой странице.
{
  "status": "OK",
  "place_id": "CdIJN2t_tDeuEmsRUsoyG83frY4",
  "scope": "APP",
  "reference": "CiQgAAAAeTQS1RtzAyVRVjHcRiIWmWeqcAl3k7bluW7GINLDULESEHozTQhy6OHJw03ziDvY1uEaFAP_vDRhK-UbWw3Gd7Ulqm3eRjIs",
  "id": "6947fc4007436a71dbda51ef9a58627c8e8858f9"
}

Удаление места

Место можно удалить только в следующих случаях:

  • место было добавлено из того же приложения, которое запрашивает его удаление;
  • если запрос на добавление не прошел процесс проверки Google Maps, вследствие чего место доступно только в приложении, в котором оно было добавлено.

При попытке удалить место, не отвечающее вышеуказанным критериям, API вернет код состояния REQUEST_DENIED.

Запрос на удаление места – это запрос POST в формате HTTP, который выглядит следующим образом:


JSON
POST https://maps.googleapis.com/maps/api/place/delete/json?key=YOUR_API_KEY HTTP/1.1
Host: maps.googleapis.com

{
  "place_id": "place ID"
}
      
XML
POST https://maps.googleapis.com/maps/api/place/delete/xml?key=YOUR_API_KEY HTTP/1.1
Host: maps.googleapis.com

<PlaceDeleteRequest>
  <place_id>place ID</place_id>
</PlaceDeleteRequest>
      

Обратите внимание, что в URL-адресе указывается формат ввода и вывода:

  • json (рекомендуется) – задает ввод и вывод в формате JavaScript Object Notation (JSON);
  • xml – задает ввод и вывод в формате XML.

URL-адрес должен содержать следующий параметр:

  • key – ключ API вашего приложения. Этот ключ используется для идентификации приложения в целях управления квотами. Поэтому места, добавленные из вашего приложения, сразу же доступны в нем. Дополнительную информацию см. в документе Получение ключа.

Тело запроса должно быть структурировано в соответствии с указанным параметром output (JSON или XML). Оно должно содержать одно из следующих двух полей:

Ответы на запросы удаления мест

Ответы на запросы удаления мест возвращаются в формате, указанном с помощью параметра output в URL-адресе запроса.

Ответ на успешный запрос удаления будет содержать следующий код состояния:

{
  "status": "OK"
}

Коды состояния

При добавлении или удалении мест используются следующие коды состояния:

  • OK – ошибок нет, место добавлено или удалено успешно.
  • UNKNOWN_ERROR – ошибка на стороне сервера. Повторная попытка может быть успешной.
  • OVER_QUERY_LIMIT – превышена квота.
  • REQUEST_DENIED – запрос отклонен. Это могло случиться из-за того, что пользователь пытался удалить место, добавленное другим приложением или одобренное в результате проверки Google Maps.
  • INVALID_REQUEST – как правило, означает, что в запросе отсутствуют параметры. Этот код также возвращается при попытке добавить место с названием (name) длиннее 255 символов.
  • NOT_FOUND – указывает, что значение reference, переданное в запросе на удаление, не удалось сопоставить с местом.

Сообщения об ошибках

Если Google Places API Web Service возвращает код состояния, отличающийся от OK, в ответе может быть дополнительное поле error_message. Это поле содержит более подробную информацию о причинах указанного кода состояния.

Параметр sensor

Ранее запросы Google Places API Web Service обязательно должны были содержать параметр sensor, чтобы указать, использовался ли приложением датчик для определения местоположения пользователя. Этот параметр больше не используется.

Оставить отзыв о...

Текущей странице
location_on
Google Places API Web Service