如何使一个点沿着向量移动?

时间:2013-11-04 16:28:01

标签: javascript vector openlayers point

我有一个从osm文件加载的向量,这是一条代表有轨电车线的折线并以这种方式添加:

var line = new OpenLayers.Layer.Vector("Tramway : line 1", {
    strategies: [new OpenLayers.Strategy.Fixed()],
    protocol: new OpenLayers.Protocol.HTTP({
        url: "lines/line1.osm",
        format: new OpenLayers.Format.OSM()
    }),
    projection: new OpenLayers.Projection("EPSG:4326"),
    style: { strokeWidth: 5, strokeColor: "blue", strokeOpacity: 0.4, pointRadius: 6, fillOpacity: 0.4 }
});

我希望有一个点(代表电车轨道)沿着这个向量移动。我不得不承认我没有尝试做任何事情,因为这看起来不像我曾经对Openlayers所做的任何事情,我不知道我怎么能这样做。

有一种简单的方法可以做到这一点,还是我必须手动完成?我只是想寻找一点提示,因为我没有在互联网上找到任何关于此的内容。

1 个答案:

答案 0 :(得分:1)

一种方法是步入您的线路节点并使用xy位置作为您的电车轨道位置:

//feature is the feature of line1
var a = [];
a = feature.geometry.getVertices();
for (var i=0; i<=a.length; i++) {  
    console.log("x: " + a[i].x + ",y: " + a[i].y);
}