Различия

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

Ссылка на это сравнение

ru:local:remoteapi1504:codesamples:address_coords [06/07/2015 15:32] (текущий)
Строка 1: Строка 1:
 +{{indexmenu_n>​10}}
 +====== Определение адреса и координат ======
 +Wialon позволяет определить координаты по известному адресу,​ или наоборот по известным координатам определить адрес. Запросы используемые для этих целей рассмотрены ниже.
  
 +//:!: Внимание!//​ Для запуска данного примера на Wialon Kit во всех запросах следует заменить **<​nowiki>​https://​hst-api.wialon.com</​nowiki>​** на **<​nowiki>​https://​kit-api.wialon.com</​nowiki>​**,​ а для входа в систему использовать логин и пароль своей учетной записи или логин и пароль демо-пользователя:​ //**kitdemo kitdemo**// или логин и пароль демо-пользователя:​ //**kitdemo kitdemo**//​.
 +
 +
 +===== Определение адреса =====
 +
 +Определить адрес по известным координатам можно при помощи запроса [[../​apiref/​requests/​address|gis_geocode]]. В качестве примера определим адрес точки с координатами:​ 27.516643322771575 в.д. и 53.91069937030936 с.ш. Формат строки результата установим в 1255211008 - Улица, Дом, Город, Регион,​ Страна.
 +
 +<​code>​
 +https://​hst-api.wialon.com/​gis_geocode?​
 + coords=[{
 + "​lon":​27.516643322771575,​
 + "​lat":​53.91069937030936
 + }]
 + &​flags=1255211008
 + &​uid=50935
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +["​ул. Скрыганова,​ 6А, Минск, Беларусь"​]
 +</​code>​
 +
 +Если же не нужна такая точность в определении адреса,​ то можно поменять формат ответа,​ например на 1255211008 - Улица.
 +<​code>​
 +https://​hst-api.wialon.com/​gis_geocode?​
 + coords=[{
 + "​lon":​27.516643322771575,​
 + "​lat":​53.91069937030936
 + }]
 + &​flags=1073741824
 + &​uid=50935
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +["​ул. Скрыганова"​]
 +</​code>​
 +
 +===== Простой поиск координат =====
 +
 +Суть данного вида поиска заключается в том, что все критерии поиска указываются явно. В качестве примера рассмотрим запрос,​ из входных данных которого нам известно только название улицы - скрыганова. Допустим мы ходим узнать какие дома есть на этой улице и получить первые три в ответе. Для того, чтобы указать,​ что должен быть осуществлен поиск дома следует установить флаг 0×4, так же, чтобы результирующий ​ JSON содержал координаты нужно установить флаг 0×400. Так же добавим в результат название карты и поля с форматированной строкой адреса,​ это флаги 0×200 и 0×100 соответственно. Про формат запроса **gis_search** и значения его параметром можно прочитать в разделе [[../​apiref/​requests/​coordinates_simple]].
 +
 +<​code>​
 +https://​hst-api.wialon.com/​gis_search?​
 + street=скрыганова
 + &​flags=1796
 + &​count=3
 + &​indexFrom=0
 + &​uid=50935
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +{
 +    "​items":​ [{
 +        "​name":​ "​1",​
 +        "​map":​ "​belarus_country_by.sas",​
 +        "​x":​ 27.5150909424,​
 +        "​y":​ 53.908618927,​
 +        "​path":​ "​Скрыганова ул.; Минск; ; Беларусь",​
 +        "​formatted_path":​ "​Скрыганова ул., 1, Минск, Беларусь"​
 +    }, {
 +        "​name":​ "​11",​
 +        "​map":​ "​belarus_country_by.sas",​
 +        "​x":​ 27.5157699585,​
 +        "​y":​ 53.9108581543,​
 +        "​path":​ "​Скрыганова ул.; Минск; ; Беларусь",​
 +        "​formatted_path":​ "​Скрыганова ул., 11, Минск, Беларусь"​
 +    }, {
 +        "​name":​ "​13",​
 +        "​map":​ "​belarus_country_by.sas",​
 +        "​x":​ 27.5159492493,​
 +        "​y":​ 53.9113693237,​
 +        "​path":​ "​Скрыганова ул.; Минск; ; Беларусь",​
 +        "​formatted_path":​ "​Скрыганова ул., 13, Минск, Беларусь"​
 +    }],
 +    "​more":​ 1
 +}
 +</​code>​
 +
 +В результате были получены координаты трех домов с данной улицы.
 +
 +===== Интеллектуальный поиск координат =====
 +
 +Данный поиск удобен тем, что не нужно явно указывать,​ что из критериев поиска является названием города,​ а что страны и так далее. Для запроса достаточно одной фразы, слова в которой могут идти в произвольном порядке. Так же при данном поиске не указываются флаги форматирования,​ так как по умолчанию данный запрос возвращает поля с отформатированным адресом,​ координаты и название карты.
 +
 +<​code>​
 +https://​hst-api.wialon.com/​gis_searchintelli?​
 + phrase=6а%20скрыганова%20минск
 + &​count=2
 + &​indexFrom=0
 + &​uid=50935
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +[{
 +    "​items":​ [{
 +        "​name":​ "​6а",​
 +        "​map":​ "​belarus_gurtam_geod.sas",​
 +        "​x":​ 27.5166873932,​
 +        "​y":​ 53.9106521606,​
 +        "​path":​ "​Скрыганова ул.; Минск; ; Беларусь",​
 +        "​formatted_path":​ "​Скрыганова ул., 6а, Минск, Беларусь"​
 +    }],
 +    "​country":​ "",​
 +    "​region":​ "",​
 +    "​city":​ "​минск",​
 +    "​street":​ "​скрыганова",​
 +    "​house":​ "​6А",​
 +    "​flags":​ 4,
 +    "​more":​ 0
 +}]
 +</​code>​
 +
 +Значение поля **"​flags"​** равное 4, говорит о том, что поиск был осуществлен с точностью до дома. Подробнее о запросе **gis_searchintelli** можно прочитать ​ в разделе [[../​apiref/​requests/​coordinates_intelli]].
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2019 Gurtam