Pages: 1
- Sujet précédent - Centrer et zoomer sur un polygone d'un kml, api google maps, javascrip - Sujet suivant
#1 Fri 01 February 2013 12:58
- sorexal
- Juste Inscrit !
- Date d'inscription: 1 Feb 2013
- Messages: 1
Centrer et zoomer sur un polygone d'un kml, api google maps, javascrip
Bonjour,
Je suis débutant en informatique et je me suis attelé a l'api googlemaps.
Je voudrais zoomer sur un polygone en fonction de sa taille alors que ces informations sont dans un kml.
Pour l'instant je n'ai que trouver un moyen de faire: zoomer sur mon curseur lorsqu'il se situe dans un polygone mais la valeur du zoom est fixe et la taille des polygone varie assez.
google.maps.event.addListener(kmlLayer3, 'click', function(kmlEvent) {
var text = kmlEvent.featureData.description;
map.panTo(kmlEvent.latLng);
map.setZoom(14);
showInDiv(text);
});
Je ne sais pas si j'ai été clair mais merci de me répondre.
Dernière modification par sorexal (Fri 01 February 2013 16:26)
Hors ligne
#2 Fri 01 February 2013 17:54
Re: Centrer et zoomer sur un polygone d'un kml, api google maps, javascrip
Ce n'est pas possible avec l'API d'après la doc : https://developers.google.com/maps/docu … ureDetails . En fait le KML est lu sur un serveur de Google qui s'occupe du rendu. Du coup le navigateur ne charge pas le KML original. Cela permet de pouvoir lire même des gros KML sans faire ramer le navigateur.
L'alternative est d'effectuer le parsing du KML toi-meme (et de ne pas utiliser google.maps.KMLLayer de l'API) : par exemple, il y a cette librairie qui devrait te permettre de faire ça : http://code.google.com/p/geoxml3/ (tu peux aussi mixer les 2, par ex continuer a utiliser KMLLayer pour le rendu et lire le KML pour l'étendu de tes polygones)
Hors ligne
#3 Mon 25 February 2013 22:55
- thinkpod
- Participant occasionnel
- Date d'inscription: 27 Dec 2009
- Messages: 36
Re: Centrer et zoomer sur un polygone d'un kml, api google maps, javascrip
Ce n'est pas possible avec l'API d'après la doc : https://developers.google.com/maps/docu … ureDetails . En fait le KML est lu sur un serveur de Google qui s'occupe du rendu. Du coup le navigateur ne charge pas le KML original. Cela permet de pouvoir lire même des gros KML sans faire ramer le navigateur.
L'alternative est d'effectuer le parsing du KML toi-meme (et de ne pas utiliser google.maps.KMLLayer de l'API) : par exemple, il y a cette librairie qui devrait te permettre de faire ça : http://code.google.com/p/geoxml3/ (tu peux aussi mixer les 2, par ex continuer a utiliser KMLLayer pour le rendu et lire le KML pour l'étendu de tes polygones)
Pour la premiere methode donc le fichier kml est uploadé sur les serveur de Google. C'est problematique s'il s'agit de données sensibles. Je crois que mapserver 6 permet de générer du kml en fonction de l'emprise comme ca cela evite de tout charger le fichier kml.
Openlayers aussi permet de gerer du kml : http://openlayers.org/dev/examples/sundials.html ,
est-ce que le kml est passé aux serveur google?
var sundials = new OpenLayers.Layer.Vector("KML", {
projection: map.displayProjection,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "kml/sundials.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true
})
})
});
Dernière modification par thinkpod (Tue 26 February 2013 10:18)
Hors ligne
Pages: 1
- Sujet précédent - Centrer et zoomer sur un polygone d'un kml, api google maps, javascrip - Sujet suivant