Географические границы штатов / провинций - > Google Maps Polygon
-
06-07-2019 - |
Вопрос
Я создаю веб-приложение, которое будет динамически выделять определенные штаты США и канадские провинции на карте Google на основе кнопок и событий щелчков.
План А) Полигоны
Моя основная идея - рисовать полигоны. Для этого мне нужны списки координат (широта + долгота) всех контуров штатов и провинций (по часовой стрелке или против часовой стрелки). На правительственных веб-сайтах я обнаружил все виды различных форматов (например, E00), но у меня возникли проблемы с преобразованием этих форматов в простой список координат, который я мог бы использовать для создания маркеров или многоугольника на карте. У вас есть какие-нибудь советы, где взять эти координаты?
План Б) Наложения
AFAIK, если вы используете наложения на Картах Google, они становятся пиксельными при дальнейшем увеличении (или вы можете наложить SVG?). В моем случае мне понадобится наложение 50 + 11 в худшем случае (все штаты и все провинции). ). Это все еще возможно с Google Maps или будет слишком медленным?
Я немного удивлен, что не существует простого способа выделить штат или провинцию, так как я думаю, что это очень распространенная задача для людей, использующих API для карт.
Заранее спасибо
Другие советы
Используя предоставленный XML, я создал файл JSON со словарем, который включает в себя 50 штатов, Вашингтон, округ Колумбия, и приблизительную схему канадских провинций, чтобы ответить на комментарий SaltyNuts, а также заметку Майка Уильямса о том, что у Канады ничего нет. a href = "https://drive.google.com/file/d/0BwI7t2lr3BAjTFhhaWVvaWZ0WFU/view?usp=sharing" rel = "nofollow"> json . Р>
Этот удобный онлайн-инструмент от BirdTheme я использовал для рисования полигонов для провинций для тех, кому нужны разные уровни детализации или для создания собственного набора координат.
Вот информация для канадских провинций. Я скопировал только первую GPS-координату из ссылки на карту Google.
/**
* Searched for Alberta, Canada and copied the first thing after the @ sign
* @see https://www.google.bg/maps/place/Yukon+Territory,+Canada/@64.5610006,-141.332713,5z/data=!3m1!4b1!4m5!3m4!1s0x51178198b4528b89:0x2e149cd561cc96ea!8m2!3d64.2823274!4d-135?hl=en
* @var array
*/
$provinces_gps = array(
"AB" => "54.1784838,-123.9541477",
"BC" => "53.8348151,-135.5103986",
"MB" => "54.1798816,-104.4465713",
"NB" => "46.2679312,-68.6551949",
"NL" => "53.1668149,-69.1783083",
"NT" => "68.4817407,-136.7732486",
"NS" => "45.2906308,-65.2759181",
"NU" => "63.5954344,-124.1555502",
"ON" => "48.9347914,-93.7155729",
"PE" => "46.5031512,-63.7525627",
"QC" => "53.4650568,-77.3895206",
"SK" => "54.1797758,-114.6389862",
"YT" => "64.5610006,-141.332713",
);
Старый вопрос, но вы можете получить более подробный набор баллов для каждой государственной границы США на веб-сайте Google по адресу https://developers.google.com/kml/documentation/us_states.kml
Это требует небольшого разбора xml.