openlayers中實現點的拖拽(modify),在layer中增加修改刪除point。


 

最近忙着整地圖,都忘記了總結來沉淀自己,自我檢討一下。

總結一下最近使用openlayer時學習的內容,先說下我的業務邏輯吧,在室內地圖中

1,點擊新增在地圖上新增一個可以拖拽的點,拖拽完成后確定位置,添加其他數據,保存入庫。

2,增加后展示點,點上面有序號。

3,修改時,當選中一條記錄的時候需要地圖上面的點高亮,這個時候可拖動位置,修改表單數據,修改后保存。

4,刪除也是選中一條記錄,記錄刪除地圖點刪除。

由於基於老版本開發的,本文中用到的方法都是openlayer4.6.5版本,具體問題還是必須參考api,遇到問題先看api,官網地址:https://openlayers.org/

我也是初學者,我就站在初學者的角度思考問題,來解決問題,首先是添加點。

等下我先簡單說下我對openlayers的理解啊:

 直接上圖,可以看出純手工打造

首先地圖五大核心,map,你要聲明地圖就的有他,沒他啥也干不了。

view,里面是坐標系(中心點),zoom(縮放)等級等等。

control控件,地圖上面顯示按鈕

layer 圖層,地圖的核心,其實地圖都是一層一層疊起來的可不是在一個平面上。

soure 數據源這個是重點

source也分好多種這個先不說,說下這個geometry,他的中文意思就是地物/圖形的意思,一個圖形是由點線面構成吧,

所以

Geometry =  Features + 屬性;

對於新手來說,不知道如何生成地圖上的點,思路是這樣的。

1,在圖層(layer)上定義

 

2,在layer上我們來添加這個style,

 

這兩個方法在api中都可以找到。

其實我們需要定義style,告訴他我們想要什么樣的點。

你需要定義或者添加到圖層上面才可以。

其實整的來看就兩不,定義style,把return的style,添加到你的圖層中,也可以在圖層中直接定義。

實現點拖拽,需要添加modify方法。

這樣定義就可以拖拽了。

這是監聽拖拽完以后發生的事件,

也可以移除modify

不管怎樣有啥不會的,先去api找方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM