Bonjour à tous.
Je développe actuellement une application web centré sur une carte interactive.
Cette carte doit être google Earth ou google map si le plugin n'est pas installé.
Je doit ensuite réaliser plusieurs actions sur la carte chargée comme : afficher / masquer des points en fonction des filtres activés, ou déplacer la caméra sur une zone précise.
L'idéale pour moi est d'avoir des fonctions qui vont fonctionner quelque soit la carte qui a été chargé.
Et là j'ai un problème avec l'affichage d'une zone.
J'entant par zone, un territoire, plus ou moins grand, qui doit être entièrement visible lors que la caméra vole dessus. Exemple : Ile de france ou Les Etats Unis. Evidemment on à pas même niveau de zoome entre les deux...
L'idée serais d'utiliser les bounds.
Un bounds dans google map c'est un rectangle définit par deux points géographique : Sud-West et Nord-Est.
google map a une fonction qui permet de déplacer la carte sur le bounds.
Je ne trouve pas d'équivalent avec google earth...
Voila, Si vous avez une idée de comment faire ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 var googleEarth;//Ma carte google earth var googleMap; //Ma carte google map /** * Déplace la caméra vers la zone sélectionnée. * @param float lat1 Latitude du point Sud-West * @param float lng1 Longitude du point Sud-West * @param float lat2 Latitude du point Nord-Est * @param float lng2 Longitude du point Nord-Est */ function flyToBounds(lat1,lng1,lat2,lng2){ if(googleEarth){ // ... I need help } if(googleMap){ maz_googleMap.fitBounds(new google.maps.LatLngBounds( new google.maps.LatLng(lat1,lng1),//sw new google.maps.LatLng(lat2,lng2)//ne )); } }
Merci![]()
Partager