Изменение изображения маркера на OpenLayers

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
ArtIntellAnd
Интересующийся
Сообщения: 26
Зарегистрирован: 08 сен 2011, 06:46
Репутация: 0

Изменение изображения маркера на OpenLayers

Сообщение ArtIntellAnd »

Всем привет :) Как изменить изображение маркера, допустим направление стрелки в другую сторону, при перерисовки маркера используя moveto.


Вот код вывода карты:

Код: Выделить всё

    <script type="text/javascript">

  function init() {

            map = new OpenLayers.Map ("map", {
                controls:[
                    new OpenLayers.Control.Navigation(),
                    new OpenLayers.Control.PanZoomBar()],
                projection: new OpenLayers.Projection("EPSG:900913"),
                displayProjection: new OpenLayers.Projection("EPSG:4326")
            } );

            layerMapnik = new OpenLayers.Layer.OSM.Mapnik("OSM");
            map.addLayer(layerMapnik);
			
            layerMarkers = new OpenLayers.Layer.Markers("Markers");
            map.addLayer(layerMarkers);
            var lonLat = new OpenLayers.LonLat(Lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
            map.setCenter (lonLat, 14);
		
         lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());

		 size = new OpenLayers.Size(25,25);
		 offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
		 icon = new OpenLayers.Icon('http://91.229.154.7/tram.png',size,offset);
	  	 marker =new OpenLayers.Marker(lonLat,icon);
          layerMarkers.addMarker(marker);		 
        }
    </script>
Вот код обновления координат маркера:

Код: Выделить всё

	
lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
newPx = map.getLayerPxFromViewPortPx(map.getPixelFromLonLat(new OpenLayers.LonLat(lon,lat).transform(map.displayProjection, map.projection)));
 marker.moveTo(newPx);	

ArtIntellAnd
Интересующийся
Сообщения: 26
Зарегистрирован: 08 сен 2011, 06:46
Репутация: 0

Re: Изменение изображения маркера на OpenLayers

Сообщение ArtIntellAnd »

Как я понял, надо использовать вектор: OpenLayers.Layer.Vector. Нашел примерчики:
openlayers.org/dev/examples/styles-rotation.html
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость