这一节将为大家描述如何在vue中使用leaflet添加polyline轨迹

1. 添加单条轨迹路线

let line = []// 坐标数据组
let polyline = this.$L.polyline(line, {
	color: 'red',// 定义线的颜色
	weight: 1,// 定义线的宽度
	opacity: 1// 定义线的透明度
}).bindPopup('点击弹出文字内容')

polyline.addTo(this.map)
// 或者
this.map.addLayer(polyline)

2. polyline轨迹路线事件

下面以鼠标移入移出改变当前路线样式以及点击路线在该路线基础上绘制一条其他样式的路线的效果,如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/23ff7047ef2a477d92fd77e39655c6a5.gif

polyline.on('mouseover', () => {
	// 设置路线样式
	polyline.setStyle({
		color: 'pink',
		weigh: 2,
		opacity: 1
	})
	polyline.on('click', () => {
		let polyline2 = this.$L.polyline(line, {
			color: 'pink',
			weight: 2
		}).bindPopup('名称')
		this.map.addLayer(polyline2)
		if (this.polyline2) {
			this.map.removeLayer(this.polyline2)
			this.polyline2.clearLayers()
		}
		this.polyline2.addLayer(polyline2)
		this.polyline2.addTo(this.map)
	})
})

polyline.on('mouseout', () => {
	polyline.setStyle({
		color: 'red',
		weight: 1,
		opacity: 1
	})
})

this.map.on('click', () => {
	if (this.polyline2) {
		this.map.removeLayer(this.polyline2)
		this.polyline2.clearLayers()
	}
})
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐