Límites geográficos de estados / provincias - > Polígono de Google Maps
-
06-07-2019 - |
Pregunta
Estoy creando una aplicación web que resaltará dinámicamente ciertos estados de EE. UU. y provincias canadienses en un mapa de Google, en función de botones y eventos de clic.
Plan A) Polígonos
Mi idea principal para esto era dibujar polígonos. Para esto necesito listas de coordenadas (latitud + longitud) de todos los contornos estatales y provinciales (en sentido horario o antihorario). En los sitios web del gobierno encontré todo tipo de formatos diferentes (es decir, E00), pero tengo problemas para convertir estos formatos en una simple lista de coordenadas, que podría usar para crear marcadores o un polígono en un mapa. ¿Tienes algún consejo sobre dónde obtener estas coordenadas?
Plan B) Superposiciones
AFAIK, si usa superposiciones en Google Maps, se pixelan a medida que se acerca más (¿o puede superponer SVG?) En mi caso, necesitaría 50 + 11 superposiciones en el peor de los casos (todos los estados y todas las provincias ) ¿Todavía es posible con Google Maps o se volverá demasiado lento?
Estoy un poco sorprendido de que no haya una forma directa de resaltar un estado o provincia, ya que creo que esta es una tarea muy común para las personas que usan una API para mapas.
Gracias de antemano
Otros consejos
Utilizando el XML proporcionado, creé un archivo JSON con un diccionario que incluye los 50 estados, Washington DC y un resumen de las provincias canadienses para abordar el comentario de SaltyNuts, así como la nota de Mike Williams de no tener nada para Canadá < a href = "https://drive.google.com/file/d/0BwI7t2lr3BAjTFhhaWVvaWZ0WFU/view?usp=sharing" rel = "nofollow"> json .
Esta útil herramienta en línea de BirdTheme fue lo que usé para dibujar los polígonos para el provincias para cualquier otra persona que necesite diferentes niveles de detalle o para crear su propio conjunto de coordenadas.
Aquí está la información para las provincias canadienses. Copié solo la primera coordenada GPS del enlace de Google Map.
/**
* 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",
);
Antigua pregunta, pero puede obtener un conjunto más detallado de puntos para cada frontera del estado de EE. UU. desde el sitio web de Google en https://developers.google.com/kml/documentation/us_states.kml
Sin embargo, necesita un poco de análisis del xml.