Перерисовка вектора (изменение его координат и угла)

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

Перерисовка вектора (изменение его координат и угла)

Сообщение ArtIntellAnd »

Привет всем, как перерисовывать вектор. Маркер перерисовываю с помощью moveto, а как быть с вектором, чтобы можно было изменить и угол и координаты. Вот попытался что-то написать, но не работает.

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

<html>
<head>
  <title>OpenLayers Exampl6e</title>
    <script src="http://openlayers.org/api/OpenLayers.js"></script>
	<script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script> 
  
 <script defer="defer" type="text/javascript">
   function init()
   {
        var map = new OpenLayers.Map('map');
		
            layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {layers: 'basic'});
            map.addLayer(layerMapnik);
            layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
            map.addLayer(layerTilesAtHome);
            layerCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");
            map.addLayer(layerCycleMap);

       map.setCenter(new OpenLayers.LonLat(104,52) // Центр карты
          .transform(
            new OpenLayers.Projection("EPSG:4326"), // преобразование из WGS 1984
            new OpenLayers.Projection("EPSG:900913") // в Spherical Mercator Projection
          ), 12 // Уровень масштаба
        );
		
       map.addControl(new OpenLayers.Control.LayerSwitcher());
		
var vectorLayer = new OpenLayers.Layer.Vector("Overlay");
var feature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point(104, 52).transform(
            new OpenLayers.Projection("EPSG:4326"), // преобразование из WGS 1984
            new OpenLayers.Projection("EPSG:900913")) // в Spherical Mercator Projection
          ,
{some:'data'},
{externalGraphic: 'tram.png', graphicHeight: 50, graphicWidth: 50, rotation: 90});
vectorLayer.addFeatures([feature]);

map.addLayer(vectorLayer);	
new_vector();
}
</script>

<script type="text/javascript">
        function new_vector()
		{
                      var lon = 0;
		   var lat = 0;
     	   var newPoint = new OpenLayers.LonLat(lon, lat).transform(
                                                              new OpenLayers.Projection("EPSG:4326"),
                                                              new OpenLayers.Projection("EPSG:900913"));
		   feature.geometry.x = lonlat.lon;
           feature.geometry.y = lonlat.lat;	
           feature.style.rotation = 45;		   
		//   vectorLayer.redraw(feature);
		  vectorLayer.drawFeture(feature);
             vectorLayer.redraw();
        }
</script>	


  </head>
    <body onload = 'init()'>
      <div style="width:600px; height:600px" id="map"></div>
     

</body>
</html>
Ответить

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

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

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