Foros del Web » Programando para Internet » Javascript »

Mostrar y actualizar marcadores en openlayer

Estas en el tema de Mostrar y actualizar marcadores en openlayer en el foro de Javascript en Foros del Web. Buenas. Estoy intentando mostrar un marcador en openstreetmap a traves de openlayer. Y solo soy capaz de hacerlo si dejo el codigo de añadir el ...
  #1 (permalink)  
Antiguo 03/04/2012, 10:59
 
Fecha de Ingreso: mayo-2010
Mensajes: 17
Antigüedad: 13 años, 11 meses
Puntos: 0
Mostrar y actualizar marcadores en openlayer

Buenas.

Estoy intentando mostrar un marcador en openstreetmap a traves de openlayer. Y solo soy capaz de hacerlo si dejo el codigo de añadir el marcador fuera de funciones, si lo pongo como lo tengo ahora no funciona:
Código:
<!DOCTYPE HTML>
<html>
  <head>
    <title>OpenLayers Demo</title>
    <style type="text/css">
      body, #basicMap {
          width: 500px;
	height: 300px;
	margin: 10px;
	float: left;
      }
	 html {
                font-size: 0px;
                bottom: 0px;
                right: 0px;
            }

    </style>
    <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
    <script>
	var vectorLayer;
	var feature;
	
	
	function ejecutar(){
		init();
		loadMarkers();
	}
	function init() {
        map = new OpenLayers.Map("basicMap");
        map.addLayer(new OpenLayers.Layer.OSM());
        map.setCenter(new OpenLayers.LonLat(-3.862788677215576, 43.4669443349282) // Center of the map
          .transform(
            new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
            new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
          ), 12 // Zoom level
        );
		//loadMarkers();
      }
	  
	  function loadMarkers(){
	  	     vectorLayer = new OpenLayers.Layer.Vector("Overlay");
    
    // Define markers as "features" of the vector layer:
   			  feature = new OpenLayers.Feature.Vector(
             new OpenLayers.Geometry.Point( -3.862788677215576, 43.4669443349282 ).transform(epsg4326, projectTo),
            {description:'This is the value of<br>the description attribute'} ,
            {externalGraphic: 'redMarker.png', graphicHeight: 25, graphicWidth: 21, graphicXOffset:-12, 	graphicYOffset:-25  }
        );    
		    vectorLayer.addFeatures(feature);
    
		    map.addLayer(vectorLayer);
	  
    
    
	  }
    </script>
  </head>
 /* <body onload="ejecutar();">
    <div id="basicMap" ></div>
  </body>
</html>
Por otro lado, me interesaba que estuviese en una funcion lo de cargar el marcador porque mi idea era cargar varios de ellos desde una base de datos y que se fuesen actualizando cada X segundos para mostrar donde se encuentran o cambiar el color del marcador dependiendo de ciertas propiedades de los campos de la base de datos (peso, altura...)

No he encontrado ningun ejemplo de como actualizar los marcadores, de dibujarlos si pero todos fuera de funciones y eso hace que no pueda actualizarlos despues.

¿Alguna idea?

Etiquetas: funcion, html, js, marcadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:37.