В каких штатах проходит мой маршрут? - PullRequest
5 голосов
/ 23 марта 2010

У меня есть страница с картой с начальным и конечным местоположением.Я бегу по маршруту между ними, чтобы получить изящную линию, показывающую маршрут.В настоящее время я использую Bing, но пытался и с Google.Я хотел бы знать, через какие состояния проходит этот маршрут, чтобы я мог затем наложить эти состояния на конкретную информацию.

Любые предложения о том, как получить это, будут наиболее полезны.использование AJAX SDK для Bing и Google.Обработка всего местного с помощью js / jquery.

Ответы [ 3 ]

2 голосов
/ 23 марта 2010

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

В API v2 это будет:

results.AddressDetails.AdministrativeArea.AdministrativeAreaName

Я думаю, что это немного более интуитивно понятно в v3 . Вы можете проверить массив AddressComponents в результатах, чтобы найти подходящий тип:

{
    "long_name":"California",
    "short_name":"CA",
    "types":["administrative_area_level_1","political"]
}

Вы можете оптимизировать обратное геокодирование, используя «разделяй и властвуй» для массива позиций на маршруте (если состояние одинаково для первой и средней позиции, то не выполняйте обратное геокодирование на промежуточных точках).

1 голос
/ 19 ноября 2011

У веб-службы MapQuest Directions есть флаг stateBoundaryDisplay, который явно помещает пересечения границ штатов (т. Е. «Пересечение в статическое имя») в описательной части. Вы можете легко извлечь эту информацию из ответа json / xml с помощью текстового поиска описательных шагов.

http://www.mapquestapi.com/directions/#advancedoptions

Надеюсь, это поможет.

Roman

0 голосов
/ 05 мая 2010

Вы можете создать свой собственный сервис, используя шейп-файл и библиотеку, такую ​​как SharpMap, или базу геоданных, такую ​​как mysql пространственный, SQL-сервер пространственный и т. Д. Затем вам просто нужно выполнить запрос пересечения, чтобы определить, через какие состояния проходит ваш маршрут. Этот подход будет работать для любого набора полигонов, поэтому вы можете легко распространить решение на округа, избирательные округа, школьные округа и т. Д.

...