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