import vectorlayer from
'ol/layer/vector'
;import vectorsource from
'ol/source/vector'
;import feature from
'ol/feature'
;import
from
'ol/interaction'
;import
from
'ol/style'
;import
from
'ol/proj'
;import
from
'ol/geom'
;import
carfrom
'@/static/car.png'
;//我的小車
data()
},
this
.source =
newvectorsource()
;this
.layer =
newvectorlayer()
, image:
newcircle()
})})
,});
this
.interaction =
newdraw()
;this
.map.
addinteraction
(this
.interaction)
;this
.interaction.on(
'drawend',e
=>);
this
.interaction.
setactive
(false);
//畫完之後不能再畫
//畫完之後立即開始動畫
this
.movestart()
;});
movestart()
this
.index =0;
this
.carpoint =
json
.parse
(json
.stringify
(this
.coors));
this
.feature =
newfeature()
this
.feature.
setstyle
(new
style()
}));
//增加車輛元素
this
.layer.
getsource()
.addfeature
(this
.feature)
;this
.timestart()
;//下面有這個方法
},
timestart()
//到轉折點旋轉角度if(
this
.nextpoint()
===this
.carpoint[
this
.index +1]
)this
.feature.
getgeometry()
.setcoordinates
(fromlonlat
(this
.carpoint[
this
.index]))
;//是否聚焦小車if(
this
.follow)},
10);}
,
countrotate()
let p1 =
this
.map.
getpixelfromcoordinate
(fromlonlat
(this
.coors[i]))
;let p2 =
this
.map.
getpixelfromcoordinate
(fromlonlat
(this
.coors[j]))
;return math.
atan2
(p2[1]
- p1[1]
, p2[0]
- p1[0]
);},
nextpoint()
else
},
高緯度旋轉的角度不對
高緯度的速度過快
小車不沿著直線行走(應該是因為地球是球狀的緣故)
後來了解到有getpixelfromcoordinate
和getcoordinatefrompixel
這兩個介面可以讓經緯度和畫素之間轉換,這裡的轉化需要轉換成epsg:3857
座標系,至於為什麼用transfrom
而不用tolonlat
的原因可以看我這篇部落格 openlayer提供的tranform與fromlonlat、tolonlat的區別
C 實現動態畫線條並能移動
以下是完整 可以直接編譯執行 using system using system.collections.generic using system.windows.forms using system.drawing namespace q2 public point startpoint poin...
VTK 滑鼠畫線(點移動線可同步更新)
滑鼠互動事件 點兩個點形成一條線 通過滑鼠點兩個點,同時標記這兩個點,形成一條線。只有一條線,並不是每次點兩個點都會新出現一條線 這個版本是個初級版本,後面我也實現了任意拖動乙個點,直線會相應發生變化,以及兩點在z軸上的變動,線也會同步更新 太多所以我也沒有貼上來,有需要了我會發出來!double ...
行動硬碟不顯示
我有個lenovo的1t行動硬碟,之前格式化的時候沒有給其分割槽,今天想到用這個分出乙個盤來做成系統安裝盤,於是用格式大師強行將其分成兩個,結果出問題了。整個硬碟從電腦消失,連碟符都不出現。開啟 磁碟管理 磁碟0 裡面是電腦裡的兩個硬碟,在 磁碟1 出現了乙個九百多g的磁碟,但是沒有顯示在目錄裡,沒...