Vue+OpenLayer怎么实现测距功能


本篇内容主要讲解“Vue+OpenLayer怎么实现测距功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue+OpenLayer怎么实现测距功能”吧!这个库文件直接按照官网的来就可以了。首先说一个事情哈,官网用的案例是地图使用的 EPSG:3857, 如果我们改成 EPSG:4326,测量数据不准确,切记这一点。上面是我引入的库文件,和官网基本上一样。首先我们看下图官网效果,官网开始绘制或者是绘制中都在鼠标旁边有一个title文本框用来提示用户操作信息。我们首先来实现一下这个功能。首先说明一点哈,这是关键代码,有些参数可能用起来发现没有声明,都是全局的,自己加在全局就可以,主要是下面这一些。首先我们在需要实现测距功能的页面上写两个按钮,一个开始测距,一个结束测距。然后点击开始测距的时候,执行一个方法,假设是distance方法。然后调用了一个初始化操作提示的dom元素。这个就是官网的函数,如果参数名和自己起的或者是map的指向问题需要自己根据自己的实际修改一下。还有一点,为了好看,把官网的样式复制一下子。然后就可以看到我们点击“开始测距”按钮之后,上面代码执行,鼠标旁边就出现一个小小的操作提示。好的,通过上面的代码呢,我们成功的绘制出了提示框,然后就是鼠标绘制,代码也很简单,在map监听的pointermove方法中,继续创建一个draw进行绘制,关键代码就是下面:然后把draw绑定到地图上面。然后就实现了鼠标绘制线。在我们点击开始测量的时候呢,在我们拖动鼠标的时候,会在上方显示出当前距离起点的距离,这个地方代码实现就是下面的样子,继续在上面的代码后面写:然后上面代码调用了一个方法。完成上面的代码之后,我们在点击开始测量之后,会在鼠标上方实时显示当前鼠标位置距离起点的距离。上边已经实现了点击开始测距,并且实时显示距离信息,接下来就是双击完成时候显示出总长度。继续在之前代码后边写:上边的代码基本上就是官网的代码,但是变量名不一样的地方需要稍微改一下。通过上面的代码就实现了双击测量完成的功能。OK,到此为止,测距功能全部完成!绘制功能完成了,就需要取消绘制,取消绘制需要在点击“取消绘制”按钮之后,取消地图绘制功能,删除界面上已经绘制过的内容。首先我们需要删除地图上绘制过的内容,包括连线,以及弹窗。这个地方需要注意一下,我们需要把绘制的图层,比如连线,和弹窗都保存到一个或者是几个列表里面,然后在点击按钮的时候,去遍历删除。所以说我们要在点击测距时候加载免费云主机域名到地图的图层之后,将创建的图层添加到一个数组存起来。包括那个总距离的弹窗。然后点击“取消测量”按钮的时候执行下面的代码:这样就可以了。这样就完成了!这里分享一下全部代码,就不放资源了,下载还花钱,我也是跟人家学的,没必要都。到此,相信大家对“Vue+OpenLayer怎么实现测距功能”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: node环境和浏览器环境有哪些区别

本文小编为大家详细介绍“node环境和浏览器环境有哪些区别”,内容详细,步骤清晰,细节处理妥当,希望这篇“node环境和浏览器环境有哪些区别”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 区别:1、在node中this指向globa…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/23 11:07
下一篇 04/23 11:07

相关推荐