Проверьте, находится ли строковый адрес X в строковом адресе Y, используя сложный полигон REST API - PullRequest
0 голосов
/ 28 ноября 2018

Я искал API, но сильно боролся.Мой подход состоял в том, чтобы получить сложный многоугольник, как на изображении ниже для Австралии:

Один пользователь придет и введет мне строковые адреса X, например:

  • Сидней, Австралия

А другой пользователь дает мне строковый адрес Y, например:

  • Австралия

Есть лиAPI, который я могу использовать, дает мне сложный многоугольник для адреса?Самое близкое, что я получаю, - это получение ограничивающего прямоугольника (север, запад, юг и восток, широта / долгота), нажав API - https://dev.virtualearth.net/REST/v1/Locations?q=australia&key=MY_KEY_HERE

Как только я получу сложный многоугольник, я попытаюсь проверить,эти сложные многоугольники пересекаются, чтобы ответить на мой вопрос: Yes, X value of "Sydney, Australia" is within Y value of "Australia".

1 Ответ

0 голосов
/ 30 ноября 2018

Чтобы получить полигон для страны или города, вы можете использовать Geodata API .

Вот документация для GeoDataAPIManager, который является частью v8 модуля управления картами - Модуль сервисов пространственных данных: https://msdn.microsoft.com/en-us/library/mt712862.aspx, вы можете увидеть пример кода в v8 iSDK: https://www.bing.com/api/maps/sdkrelease/mapcontrol/isdk/sdsloadsingleboundary#overview

Если у вас есть границы, вы можете использовать Spatial Math Module , чтобы проверить пересечение .Посмотрите этот пример кода: http://bingmapsv8samples.azurewebsites.net/#Find%20all%20counties%20that%20intersect%20a%20line

...