banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 26 May 2010 21:17

Kris
Juste Inscrit !
Date d'inscription: 26 May 2010
Messages: 1

Marqueurs OpenLayer centrés automatiquement au milieu de la carte

Bonsoir,

Je me trouve face a un problème lié à la position de mes marqueurs. En effet, ils se centrent tous au milieu de la carte même en cas de coordonées différentes. Etant débutant dans le domaine, je me suis largement inspiré des documents OpenStreetMap.

Le code ci dessous correspond a la "construction" de la carte

Code:

var lat=49.17783;
var lon=-0.359605;
var zoom=6;
var map; 

function init() 
        {
        map = new OpenLayers.Map ("map", {
                                    controls:[
                                    new OpenLayers.Control.Navigation(),
                                    new OpenLayers.Control.PanZoomBar(),],
                                 } );

                var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
                map.addLayer(layerMapnik);

                var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"),       map.getProjectionObject());
                map.setCenter (lonLat, zoom); 
                }

Celui ci à l'appel de la fonction qui ajoute des marqueurs dont les attributs sont stockés dans un fichiers XML (extrait)

Code:

          var layerMarkers = new OpenLayers.Layer.Markers("Markers");
          map.addLayer(layerMarkers);

          for (var i=0, c=nodes.length; i<c; i++)
              {
             lonLatMarker = new  OpenLayers.LonLat(nodes[i].getAttribute("lon")                                                                                          ,nodes[i].getAttribute("lat"));

           var chemin = nodes[i].getAttribute("ico") ;
           var ico = new OpenLayers.Icon(chemin);
           layerMarkers.addMarker(new OpenLayers.Marker(lonLatMarker,ico)); 
           map.setCenter (lonLatMarker, zoom); 
           }

Voila tout marche à l'exeption du placement des marqueurs qui vont tous se mettre au milieu de la carte...

Merci d'avance

Hors ligne

 

Pied de page des forums

Powered by FluxBB