Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба поиска — это набор API RESTful, предназначенных для поиска по адресам, местам и бизнес-спискам разработчиков по имени, категориям и другим географическим данным. Помимо традиционного геокодирования, поддерживается также обратное геокодирование для поиска адресов и пересекающих улиц по широте и долготе. Значения широты и долготы, возвращаемые поиском, можно использовать в качестве параметров в других службах Azure Maps, таких как Route и Weather.
В этой статье демонстрируются следующие возможности.
- Запрос координат широты и долготы для адреса (расположения адреса геокода) с помощью адреса поиска.
- Найдите адрес или точку интереса (POI) с помощью нечеткого поиска.
- Используйте обратный поиск адресов, чтобы перевести расположение координат на адрес улицы.
- Используйте API обратного перекрестного пересечения адреса поиска , чтобы преобразовать расположение координат в удобочитаемую пользователем перекрестную улицу. Это особенно полезно в приложениях для отслеживания, которые получают данные GPS от устройств или оборудования и им необходимо определить ближайшее местоположение на уровне улицы для этих координат.
Необходимые компоненты
- Учетная запись Azure Maps
- Ключ подписки
Внимание
В примерах URL-адресов в этой статье вы должны заменить {Your-Azure-Maps-Subscription-key} на свой ключ подписки Azure Maps.
В этой статье используется приложение Бруно , но вы можете выбрать другую среду разработки API.
Запрос широты и долготы по адресу (геокодирование)
В этом разделе используется метод Get Search Address для преобразования адреса в координаты широты и долготы. Этот процесс называется еще геокодированием. Помимо возврата координат, ответ также возвращает подробные свойства адреса, такие как улица, почтовый индекс, муниципалитет и информация о стране или регионе.
Совет
Если у вас есть набор адресов для геокода, можно использовать пакет post search address для отправки пакета запросов в одном запросе.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/search/address/json?&subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&language=en-US&query=400 Broad St, Seattle, WA 98109Выберите кнопку Создать.
Нажмите кнопку запуска.
Этот запрос выполняет поиск определенного адреса:
400 Broad St, Seattle, WA 98109Затем выполните поиск по адресу с несколькими возможными расположениями.В разделе "Params"ключ
queryна , а затем нажмите кнопку запуска.
Затем попробуйте задать
queryдля ключа значение400 Broa, а затем нажмите кнопку запуска.Ответ включает результаты из нескольких стран или регионов. Чтобы получить результаты геобиа в соответствующую область для пользователей, всегда добавьте в запрос столько сведений о расположении.
Поиск нечетких соответствий
Нечеткий поиск поддерживает стандартные однострочные и бесплатные поиски. Использовать этот API рекомендуется, если вы не знаете тип входных данных, введенных пользователем в поисковом запросе. Входными данными запроса могут быть полный адрес, частичный адрес или маркер точки интереса (POI), например имя POI, ее категория или название торговой марки. Кроме того, чтобы повысить релевантность результатов поиска, ограничить результаты запроса с помощью расположения координат и радиуса или определить ограничивающий прямоугольник.
Совет
Большинство запросов поиска по умолчанию позволяют maxFuzzyLevel=1 повысить производительность и уменьшить необычные результаты. Настройте уровни нечеткости с помощью maxFuzzyLevel или minFuzzyLevel параметров. Дополнительные сведения и maxFuzzyLevel полный список всех необязательных параметров см. в разделе URI нечетких параметров поиска.
Поиск адреса с помощью поиска нечетких соответствий
Пример в этом разделе используется Fuzzy Search для поиска всей области пиццы, а затем выполняет поиск по определенной стране или региону. Наконец, в нем показано, как использовать расположение координат и радиус для области поиска по определенной области и ограничить количество возвращаемых результатов.
Внимание
Чтобы ограничить результаты нужной пользователю географической областью, всегда указывайте как можно больше сведений о расположении. Дополнительные сведения см. в рекомендациях по поиску.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/search/fuzzy/json?api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=pizzaПримечание.
Атрибут json в URL-адресе пути определяет формат ответа. В этой статье используется JSON для удобства использования и удобства чтения. Другие поддерживаемые форматы ответа см. в определении параметра
formatв документации по параметрам URI.Нажмите кнопку запуска, а затем просмотрите текст ответа.
Неоднозначная строка запроса для "пиццы" вернула 10 точек интереса (POI) приводит как к категории "пицца" и "ресторан". Каждый результат содержит улицу и номер дома, значения широты и долготы, окно просмотра и точки входа в интересующее место. Результаты теперь отличаются для этого запроса и не привязаны к любому ссылочного расположения.
На следующем шаге вы будете использовать
countrySetпараметр, чтобы указать только страны или регионы, для которых требуется охват приложения. Полный список поддерживаемых стран и регионов см. в разделе "Покрытие геокодирования Azure Maps".По умолчанию поиск ведется по всему миру, из-за чего ответ может содержать ненужные результаты. Затем найдите пиццу только в США. Добавьте ключ
countrySetв раздел Params (Параметры) и задайте для него значениеUS.countrySetУстановка ключа дляUSпривязки результатов к США.
Теперь результаты ограничены кодом страны и запрос возвращает адреса пиццерий в США.
Чтобы получить еще более целевой поиск, можно выполнить поиск по области пары координат lat/lon. В следующем примере используются координаты lat/lon в Сиэтле Space Needle. Так как мы хотим возвращать результаты только в радиусе 400 метров, мы добавим
radiusэтот параметр. Кроме того, мы добавимlimitпараметр, чтобы ограничить результаты пятью ближайшими местами пиццы.В разделе Params (Параметры) добавьте следующие пары "ключ-значение":
Ключ Значение шир. 47,620525 lon –122,349274 радиус 400 limit 5 Нажмите Выполнить. Ответ будет содержать сведения о пиццериях в окрестности башни Спейс-Нидл в Сиэтле.
Поиск улицы и номера дома с использованием обратного поиска адреса
Получение обратного адреса поиска преобразует координаты в удобочитаемые уличные адреса. Этот API часто используется в приложениях, которые получают веб-каналы GPS и которым требуется определять адреса, располагающиеся по данным координатам.
Внимание
Чтобы получить результаты геобиа в соответствующую область для пользователей, всегда добавьте максимальное количество сведений о расположении. Дополнительные сведения см. в рекомендациях по поиску.
Совет
Если у вас есть набор расположений координат для обратного геокода, можно использовать обратный пакет для обратного поиска по адресу для отправки пакета запросов в одном запросе.
В этом примере показано, как выполнять обратный поиск с помощью нескольких доступных необязательных параметров. Полный список необязательных параметров см. в разделе "Параметры URI" документации API обратного поиска.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/search/address/reverse/json?api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=47.591180,-122.332700Нажмите кнопку запуска и просмотрите текст ответа. Должен быть возвращен всего один результат. Ответ содержит ключевые сведения об адресе T-Mobile Park.
Затем добавьте следующие пары "ключ-значение" в раздел Params :
Ключ Значение Возвраты number 1 Ответ может включать сторону улицы (слева или справа), а также положение смещения для числа. returnSpeedLimit true Возвращает ограничение скорости для данного адреса. returnRoadUse true Возвращает типы дорог по способу использования для данного адреса. Все возможные типы дорог по способу использования см. в описании параметра roadUse. returnMatchType true Возвращает тип совпадения. Все возможные значения см. в разделе "Результаты поиска обратного адреса".
Нажмите кнопку запуска и просмотрите текст ответа.
Затем добавьте ключ и задайте для нее
entityTypeзначениеMunicipality. КлючentityTypeпереопределяетreturnMatchTypeключ на предыдущем шаге.returnSpeedLimitаreturnRoadUseтакже необходимо удалить, так как вы запрашиваете информацию о муниципалитете. Все возможные типы сущностей см. в описании объекта EntityType.
Нажмите кнопку запуска. Сравните результаты с теми, которые были возвращены на шаге 5. Так как запрошенный тип сущности теперь
municipalityявляется, ответ не содержит сведения об адресе улицы. Кроме того, по возвращаемому значениюgeometryIdможно запросить многоугольный контур интересующей области с помощью API поиска многоугольника (GET) Azure Maps.
Совет
Дополнительные сведения см. в разделе "Параметры обратного поиска".
Обратный поиск пересекающей улицы
В этом примере показано, как искать перекрестную улицу на основе координат адреса.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/search/address/reverse/crossstreet/json?api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=47.591180,-122.332700Нажмите кнопку запуска и просмотрите текст ответа. Обратите внимание, что ответ содержит
crossStreetзначениеSouth Atlantic Street.
В этой статье демонстрируются следующие возможности.
- Запрос координат широты и долготы для адреса (расположения адреса геокода) с помощью get Geocoding.
- Найдите частичный адрес с помощью Get Geocode Autocomplete.
- Используйте обратное геокодирование, чтобы перевести местоположение координат на адрес улицы.
- Перевод расположения координат в понятный для человека перекресток с помощью функции Обратного Геокодирования, чаще всего необходима для приложений отслеживания, которые получают GPS-поток от устройства или ресурса и хотят знать, где расположена эта координата.
Необходимые компоненты
- Учетная запись Azure Maps
- Ключ подписки
Внимание
В примерах URL-адресов в этой статье вы должны заменить {Your-Azure-Maps-Subscription-key} на свой ключ подписки Azure Maps.
В этой статье используется приложение Бруно , но вы можете выбрать другую среду разработки API.
Запросите координаты для адреса с использованием метода Get Geocoding
В примере в этом разделе используется get Geocoding для преобразования адреса в координаты широты и долготы. Этот процесс называется еще геокодированием. Помимо возврата координат, ответ также возвращает подробные свойства адреса, такие как улица, почтовый индекс, муниципалитет и информация о стране или регионе.
Совет
Если у вас есть набор адресов для геокодирования, вы можете использовать Получить пакет геокодирования для отправки пакета запросов одним запросом.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
GET https://atlas.microsoft.com/geocode?api-version=2025-01-01&subscription-key={Your-Azure-Maps-Subscription-key}&query=400 Broad St, Seattle, WA 98109Выберите кнопку Создать.
Нажмите кнопку запуска.
Этот запрос выполняет поиск определенного адреса:
400 Broad St, Seattle, WA 98109Затем выполните поиск по адресу с несколькими возможными расположениями.В разделе "Params"ключ
queryна , а затем нажмите кнопку запуска.Затем попробуйте задать
queryдля ключа значение400 Broa, а затем нажмите кнопку запуска.Ответ включает результаты из нескольких стран или регионов. Чтобы получить результаты геобиа в соответствующую область для пользователей, всегда добавьте в запрос столько сведений о расположении.
Использование автозаполнения геокода для частичного поиска адресов
API Get Geocode Autocomplete поддерживает однострочные и свободные вводы адресов, что идеально в случаях, когда полный адрес недоступен. Вы можете отправить полный или частичный адрес в виде запроса. Чтобы повысить точность и релевантность результатов, рекомендуется ограничить поиск, указав координаты или ограничивающий прямоугольник.
Поиск места
В этом примере показано, как использовать API автозаполнения геокода для поиска места на всем североамериканском континенте для частичного ввода, такого как "университет w". Затем показано, как сузить область поиска до определенной страны или региона с помощью countryRegion параметра. Наконец, в нем показано, как использовать coordinates параметр для фокусировки поиска в определенной области.
Внимание
Чтобы ограничить результаты нужной пользователю географической областью, всегда указывайте как можно больше сведений о расположении. Дополнительные сведения см. в рекомендациях по поиску.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/geocode:autocomplete?api-version=2025-06-01-preview&query=university of w&bbox=-168,-52,5,84&subscription-key={Your-Azure-Maps-Subscription-key}Нажмите кнопку запуска, а затем просмотрите текст ответа.
Примечание.
Параметр
bboxв URL-адресе определяет ограничивающий прямоугольник, охватывающий Канаду, Соединенные Штаты, Мексику, Гренландию и части Карибского бассейна. Он возвращает несколько университетов, расположенных в этой области, в том числе:- Университет Вашингтона в округе Кинг, штат Вашингтон, США
- Университет Ватерлоо в Уотерлоо , Онтарио, Канада
- Университет Вайоминга в Ларами, Вайоминг, США
- Университет Виндзора в Виндзоре, Онтарио, Канада
- Университет Западной Флориды в округе Эскамбиа, Штат Флорида, США
Далее сузите область в США, включенную в поиск, с помощью параметра countryRegion.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/geocode:autocomplete?api-version=2025-06-01-preview&query=university of w&bbox=-168,-52,5,84&countryRegion=us&subscription-key={Your-Azure-Maps-Subscription-key}Нажмите кнопку запуска, а затем просмотрите текст ответа.
Примечание.
Параметр
bboxв URL-адресе определяет тот же ограничивающий прямоугольник, что и в предыдущем примере, однакоcountryRegion=usпараметр ограничивает результаты в США. Он возвращает несколько университетов, расположенных в этой области, в том числе:- Университет Вашингтона в округе Кинг, штат Вашингтон, США
- Университет Вайоминга в Ларами, Вайоминг, США
- Университет Западной Флориды в округе Эскамбиа, Штат Флорида, США
- Университет Висконсин-Супериор в округе Дуглас, Висконсин, США
- Университет Висконсин-Стут в Меномони, Графство Данн, Висконсин, США
Затем сосредоточьтесь на поиске, для включения дополнительных результатов в конкретную зону внутри заданной countryRegion, используя параметр coordinates. Это приводит к тому, что больше элементов возвращается рядом с указанной областью, которые в противном случае не были бы включены в список.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/geocode:autocomplete?api-version=2025-06-01-preview&query=university of w&bbox=-168,-52,5,84&countryRegion=us&coordinates=-122.136791,47.642232&subscription-key={Your-Azure-Maps-Subscription-key}Нажмите кнопку запуска, а затем просмотрите текст ответа.
Примечание.
Параметры
bboxв этом URL-адресе определяют те же границы, что иcountryRegionв предыдущем примере, однакоcoordinates=-122.136791,47.642232параметр фокусирует результаты поиска на указанной области. Он возвращает местный университет, который в противном случае не будет возвращен.- Университет Вашингтона в округе Кинг, штат Вашингтон, США
- Университет Вашингтона в Такоме, округ Пирс, штат Вашингтон, США
- Университет Вайоминга в Ларами, Вайоминг, США
- Университет Западной Флориды в округе Эскамбиа, Штат Флорида, США
- Университет Висконсин-Стут в Меномони, Графство Данн, Висконсин, США
Поиск адреса
Примеры в этом разделе демонстрируют различие между поиском места и поиском адреса с использованием параметра resultTypeGroups API Get Geocode Autocomplete. Они показывают поиск Диснейленда в южной Калифорнии, применяют частичные вводные данные, такие как "dis", и параметр coordinates, чтобы сосредоточить поиск в определенной области.
Внимание
Чтобы ограничить результаты нужной пользователю географической областью, всегда указывайте как можно больше сведений о расположении. Дополнительные сведения см. в рекомендациях по поиску.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/geocode:autocomplete?api-version=2025-06-01-preview&query=dis&coordinates=-117.920219,33.809570&subscription-key={Your-Azure-Maps-Subscription-key}Нажмите кнопку запуска, а затем просмотрите текст ответа.
Обратите внимание, что ответ содержит значения место, которые включают:
Название свойства Значение свойства typeGroup Место type Парк развлечений имя Дисней Калифорния Приключенческий парк Совет
Свойство
typeнаиболее релевантно при использованииresultTypeGroups=place. Чтобы просмотреть доступные типы, ознакомьтесь с перечислением типов результирующего автозавершения. Чтобы определить типы для поиска, используйтеresultTypesпараметр URI. Дополнительные сведения о реализации см. в вызове API автозаполнения для поиска "Muir Woods", отфильтрованного по типам результатов "парковая зона" и "населенный пункт", группам типов результатов "место".Если для параметра отсутствуют значения
resultTypeGroups, запросы могут возвращать значения места и адреса. Если вас интересует только поиск адресов, включитеresultTypeGroups=addressв свой запрос.https://atlas.microsoft.com/geocode:autocomplete?api-version=2025-06-01-preview&query=dis&coordinates=-117.920219,33.809570&resultTypeGroups=address&subscription-key={Your-Azure-Maps-Subscription-key}Обратите внимание, что ответ содержит значения адрес, которые включают:
Название свойства Значение свойства typeGroup Address Название улицы Диснейленд форматированный адрес Диснейленд, Анахайм, CA 92802, Соединенные Штаты
Поиск адреса улицы с помощью обратного геокодирования
Получение обратного геокодирования преобразует координаты в удобочитаемые уличные адреса. Этот API часто используется в приложениях, которые получают веб-каналы GPS и которым требуется определять адреса, располагающиеся по данным координатам.
Внимание
Чтобы получить результаты геобиа в соответствующую область для пользователей, всегда добавьте максимальное количество сведений о расположении. Дополнительные сведения см. в рекомендациях по поиску.
Совет
Если у вас есть набор координат для обратного геокодирования, вы можете использовать Get Reverse Geocoding Batch для отправки пакета запросов в одном запросе.
В этом примере показано, как выполнять обратный поиск с помощью нескольких доступных необязательных параметров. Полный список необязательных параметров см. в разделе "Получение параметров обратного геокодирования".
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/reverseGeocode?api-version=2025-01-01&subscription-key={Your-Azure-Maps-Subscription-key}&coordinates=-122.332700,47.591180Нажмите кнопку запуска и просмотрите текст ответа. Должен быть возвращен всего один результат. Ответ содержит ключевые сведения об адресе T-Mobile Park.
Затем добавьте следующий параметр в запрос:
resultTypes=Postcode1https://atlas.microsoft.com/reverseGeocode?api-version=2025-01-01&subscription-key={Your-Azure-Maps-Subscription-key}&coordinates=-122.332700,47.591180&resultTypes=Postcode1Нажмите кнопку запуска и сравните результаты с результатами, возвращенными ранее. Так как запрошенный тип результата теперь
Postcode1, ответ не содержит сведения об адресе улицы, а только почтовый индекс.
Поиск перекрестка с использованием обратного геокодирования
В этом примере показано, как искать перекрестную улицу на основе координат адреса.
Откройте приложение Бруно .
Выберите НОВЫЙ ЗАПРОС , чтобы создать запрос. В окне NEW REQUEST задайте для типаHTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/reverseGeocode?api-version=2025-01-01&coordinates=-122.12429011774091,47.61697905124655&subscription-key={Your-Azure-Maps-Subscription-key}Нажмите кнопку запуска и просмотрите текст ответа.
Ответ содержит
intersectionраздел, определяющий часть улицы возвращаемого адреса: NE 8th St. Он также указывает пересекающуюся улицу: 164th Ave NE, и предоставляет полный перекресток как: NE 8th St и 164th Ave NE."intersection": { "baseStreet": "NE 8th St", "displayName": "NE 8th St and 164th Ave NE", "intersectionType": "Near", "secondaryStreet1": "164th Ave NE" }