Vue+OpenLayers学习系列(九)Vue+OpenLayers小案例(长度测量、面积测量、坐标定位、坐标获取)

16 篇文章 1 订阅

很早之前做的一个例子,最近想复习下Vue+OpenLayers的使用案例,所以发出来供大家下载

vue-ol-demo-master

本Demo的功能包括:地图展示、地图放大缩小、添加鹰眼、长度测量、面积测量、坐标获取、坐标定位。

其中测量工具实现的方法逻辑单独放在src/shared/tools/measure.js文件里面,避免放到组件里面太大太冗余。

运行方法:

#下载依赖
npm install

#运行
npm run serve

 

 

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Vue中使用OpenLayers进行面积测量,可以通过以下步骤实现: 1. 首先,在Vue项目中,安装OpenLayers库。可以通过运行以下命令进行安装: ``` npm install ol ``` 2. 在Vue组件中引入OpenLayers库,可以使用`import`语句进行引入: ```javascript import ol from 'ol'; ``` 3. 创建一个Vue组件,并在`mounted`钩子函数中进行OpenLayers地图的初始化。在地图初始化过程中,可以设置视图的初始中心以及缩放级别: ```javascript mounted() { const map = new ol.Map({ target: 'map', view: new ol.View({ center: [0, 0], zoom: 2 }) }); } ``` 4. 在组件的模板中,添加一个具有特定ID的`div`元素,作为地图的容器: ```html <template> <div id="map"></div> </template> ``` 5. 在`mounted`钩子函数中,创建一个用于绘制图形的矢量源和矢量层。可以通过`ol.source.Vector`和`ol.layer.Vector`来实现: ```javascript mounted() { // ...省略地图初始化代码 const vectorSource = new ol.source.Vector(); const vectorLayer = new ol.layer.Vector({ source: vectorSource }); map.addLayer(vectorLayer); } ``` 6. 添加一个测量控件,用于测量面积。可以通过`ol.control.Measure`来实现: ```javascript mounted() { // ...省略地图初始化和添加矢量层代码 const measureControl = new ol.control.Measure({ source: vectorSource, type: 'area', interactionType: 'click' }); map.addControl(measureControl); } ``` 7. 最后,在模板中添加一个按钮或其他元素,用于触发测量功能: ```html <template> <div id="map"> <button @click="startMeasurement">开始测量</button> </div> </template> ``` 8. 在组件的方法中,编写`startMeasurement`方法,用于启动测量功能: ```javascript methods: { startMeasurement() { const measureControl = map.getControls().getArray().find(control => control instanceof ol.control.Measure); measureControl.setActive(true); } } ``` 通过以上步骤,Vue中的OpenLayers地图将具备面积测量功能。用户可以点击“开始测量”按钮,然后在地图上绘制多边形,测量结果将以弹窗或其他形式呈现给用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值