2012-06-14 53 views
2

這是我使用的代碼。我應該在函數moveFeature()中編碼以便點將從一個位置移動到另一個位置。如何在OpenLayers中將一個矢量點從一個LonLat移動到另一個LonLat?我正在使用OSM

<script> 
    function init() { 
    map = new OpenLayers.Map("basicMap"); 
    var mapnik   = new OpenLayers.Layer.OSM(); 
    var fromProjection = new OpenLayers.Projection("EPSG:4326"); // Transform from WGS 1984 
    var toProjection = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection 
    var position  = new OpenLayers.LonLat(0,0).transform(fromProjection, toProjection); 
    var zoom   = 15; 

    map.addLayer(mapnik); 
    map.setCenter(position, zoom); 
     var style_blue = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']); 
    style_blue.strokeColor = "blue"; 
    style_blue.fillColor = "blue"; 

     var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry"); 

    // create a point feature 
    var point = new OpenLayers.Geometry.Point(0,0).transform(fromProjection, toProjection); 
    pointFeature = new OpenLayers.Feature.Vector(point, null, style_blue); 

     map.addLayer(vectorLayer); 
    map.setCenter(new OpenLayers.LonLat(point.x, point.y), zoom); 
     vectorLayer.addFeatures([pointFeature]); 
     window.setInterval(function() {moveFeature(pointFeature)}, 1000); 
     } 
     function moveFeature(feature){ 
     var newLonLat = new OpenLayers.LonLat(1,1).transform(fromProjection, toProjection); 
     //how do I move the feature to the new LonLat here 
     } 
</script> 

回答

4

如何將該功能移動到新的LonLat? 下面是答案:

feature.move(newLonLat); 
+0

感謝JJones,我能做到這一點通過: feature.geometry.move(newlon - oldlon,newlat - oldlat); – bvenkysubbu

相關問題