2013-11-04 110 views
1

我有從一個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

一個辦法是一步你行的節點,並使用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); 
}