web-dev-qa-db-fra.com

Limites géographiques des états/provinces -> Google Maps Polygon

Je construis une application Web qui va mettre en surbrillance de manière dynamique certains États américains et certaines provinces canadiennes sur une carte Google, en fonction de boutons et d’événements de clic.

Plan A) Polygones

Mon idée principale était de dessiner des polygones. Pour cela, j'ai besoin de listes de coordonnées (latitude + longitude) de tous les contours d'état et de province (dans le sens des aiguilles d'une montre ou dans le sens inverse). Sur les sites Web du gouvernement, j’ai trouvé toutes sortes de formats différents (E00), mais j’ai du mal à convertir ces formats en une simple liste de coordonnées, que je pourrais utiliser pour créer des marqueurs ou un polygone sur une carte. Avez-vous des conseils pour obtenir ces coordonnées?

Plan B) Superpositions

Autant que je sache, si vous utilisez des superpositions sur Google Maps, elles deviennent pixélisées à mesure que vous effectuez un zoom supérieur (ou pouvez-vous superposer des SVG?) Dans mon cas, il me faudrait 50 + 11 superpositions dans le pire des cas (tous les États et toutes les provinces). Est-ce toujours possible avec Google Maps ou est-ce que cela va devenir trop lent?

Je suis un peu surpris de constater qu'il n'y a pas de moyen simple de mettre en évidence un état ou une province, car je pense qu'il s'agit d'une tâche très courante pour les personnes utilisant une API pour les cartes.

Merci d'avance

33
motto

J'ai XML pour les polygones d'états américains ici . Je les utilise comme ceci .

J'ai délibérément gardé les détails assez légers pour réduire le temps de chargement et j'ai fini par obtenir une carte raisonnablement réactive pour les navigateurs lents.

Je n'ai rien pour le Canada.

73
Mike Williams

À l’aide du XML fourni, j’ai créé un fichier JSON avec un dictionnaire comprenant les 50 États américains, Washington DC et un aperçu des provinces canadiennes pour répondre au commentaire de SaltyNuts, ainsi que la note de Mike Williams selon laquelle rien n’aurait été fait pour Canada json

Cet outil en ligne très pratique de BirdTheme était ce que j’utilisais pour dessiner les polygones des provinces pour tous ceux qui ont besoin de différents niveaux de détail ou pour créer leur propre jeu de coordonnées.

3
northcott-j

Ancienne question, mais vous pouvez obtenir un ensemble plus détaillé de points pour chaque frontière d’un État américain à partir du site Web de Google à l’adresse https://developers.google.com/kml/documentation/us_states.kml

Il faut cependant un peu d’analyse du code XML.

0
artemisian

Voici les informations pour les provinces canadiennes . Je n'ai copié que les premières coordonnées GPS du lien 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",
);
0