Выделение границ штатов и городов США в Google Map API 3
У меня есть сценарий, где я должен выделить границы и затенить государство или город после геокодирования (когда я получил lang и lat).
Как я могу это сделать, мне нужно иметь полную информацию о городе, чтобы окружить его полилиниями? Или есть способ, которым map API может сделать это для меня.
5 ответов
True. Google не предоставляет эту функцию. Так что мы можем сделать... мы можем иметь lat/long границ государства. И мы должны сами нарисовать многоугольники.
Я этой JS-объект. И изменил его на объект Google map (google.maps.LatLng
).
например:
var statesobj = {"AK": [new google.maps.LatLng(70.0187, -141.0205),
new google.maps.LatLng(70.1292, -141.7291),
new google.maps.LatLng(70.4515, -144.8163)]}
Итак, теперь это легко. Петля На этих lat / longs. И вы можете нарисовать полигоны на каждом из нас.
это решение я придумал. Если вы знаете есть идея получше. Пожалуйста, поделитесь.
вы также можете попробовать Google Geo Charts:
http://code.google.com/apis/chart/interactive/docs/gallery/geochart.html
Google Maps API не позволяет получить границы города. Есть еще несколько мест, из которых вы можете получить координаты, хотя:
Flickr API
существует API Flickr, основанный на фотографиях, которые люди помечают, но это только так же точно, как люди, которые помечают фотографии: так что это достаточно хорошо для загрузки, но, вероятно, не для производства: http://karya-blog.blogspot.com/2012/12/fetching-city-polygons-with-flickr-api.html
Природные Данные Земли
точная альтернатива www.naturalearthdata.com - ... Чтобы получить эти данные оттуда, вам просто нужно сделать два запроса: один с названием города и один с их идентификатором, чтобы получить параметры:
разблокировка.Эдина.переменного тока.Великобритания/в WS/поиск?имя=Берлине&географический справочник=naturalearth&формат=формат JSON
и затем
разблокировка.Эдина.переменного тока.Великобритания/в WS/footprintLookup?формат=формат JSON&идентификатор=14126951
и ты установить :)
Mapzen
Если вы можете предварительно получить данные, перейдите на Mapzen, у них есть полная и довольно точная база данных:https://mapzen.com/data/borders/
боюсь, Google maps API не предоставляет никаких средств для доступа к региону (страна, штат, город,...) формирует.
Если вы хотите выделить регионы, вам нужно создать пользовательские наложения на основе данных, полученных в другом месте.
теперь основной пример карты включает в себя "mashup" данных. При подаче идентифицирующих данных в веб-службу результирующий вывод может указывать местоположения на карте. Он показывает, как на карте размещается маркер географической карты для определения конкретного местоположения. Маркеры карты могут использовать значок по умолчанию (показано) или пользовательское изображение, датчик или даже диаграмму. При необходимости карта может быть сконфигурирована для отображения информационного окна маркера карты, содержащего дополнительные данные о местоположении, когда маркер щелкнул.
Он включает в себя управляемые данными, цветные регионы (в данном случае, представляющие почтовые индексы), наложенные на карту, например, Вашингтона, округ Колумбия. Logi Info может работать с граничными данными ГИС для создания наложений регионов для штатов, округов, городов, школьных округов и других областей. Как и маркер карты, области можно щелкнуть, чтобы отобразить всплывающее информационное окно с подробными данными.