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

¿Fue útil?

Solución

Tengo XML para polígonos estatales de EE. UU. aquí . Los uso como this .

Dejé deliberadamente los detalles bastante claros para reducir el tiempo de carga y terminé con un mapa que responde razonablemente en navegadores lentos.

No tengo nada para Canadá.

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top