实时记录运动轨迹插件_浅谈 leaflet 地图插件的使用(制作飞机航线图)

前沿

接到需求飞行航班地图

需求整理

1.获取后台接口数据,且定时请求数据并渲染,体现航班的动态效果

2.在地图上分布给每组数据设同样的图标

3.给循环的marker设置鼠标事件(移入移出样式设置),点击事件弹窗展示接口返回信息

4.点击某条航班动态绘制航线图。

问题:1.飞机图标要体现路线的方向性,不能用一个icon就表示了。

2.接口返回经纬度实时变化,飞机也在动,要根据飞机运动轨迹绘制路线

具体实现

后端要返回航班起点终点经纬度,根据实施经纬度计算角度,从而调整飞机角度

##绘制基础地图

var mymap = L.map('mapid').setView([xxx,xxx], 8),

地图拖动或缩放调接口

mymap.on('zoomend dragend',function(){

mymap.getZoom(); //获取范围经纬度

getMap(); //获取接口方法

})

marker自定义图标

1.如果自定义几个图标以内,可以自定义地址

var greenIcon = L.icon({

iconUrl: 'leaf-green.png',

shadowUrl: 'leaf-shadow.png',

iconSize: [38, 95], // size of the icon

shadowSize: [50, 64], // size of the shadow

iconAnchor: [22

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue 3环境中,您可以使用HTML5的canvas元素和Leaflet库来绘制地图边界的经纬度刻度和数值。以下是一个简单的示例代码: ```html <template> <div> <canvas ref="mapCanvas"></canvas> </div> </template> <script> import { ref, onMounted } from 'vue' export default { name: 'Map', setup() { const mapCanvas = ref(null) onMounted(() => { const canvas = mapCanvas.value const ctx = canvas.getContext('2d') // 设置画布尺寸 canvas.width = window.innerWidth canvas.height = window.innerHeight // 绘制地图边界的经纬度刻度和数值 ctx.fillStyle = 'black' ctx.font = '12px Arial' // 绘制经度刻度和数值 for (let i = -180; i <= 180; i += 10) { const x = (i + 180) * (canvas.width / 360) ctx.beginPath() ctx.moveTo(x, 0) ctx.lineTo(x, canvas.height) ctx.fillText(i.toString(), x, 12) ctx.stroke() } // 绘制纬度刻度和数值 for (let i = -90; i <= 90; i += 10) { const y = (90 - i) * (canvas.height / 180) ctx.beginPath() ctx.moveTo(0, y) ctx.lineTo(canvas.width, y) ctx.fillText(i.toString(), 5, y + 5) ctx.stroke() } }) return { mapCanvas } } } </script> ``` 在上面的代码中,我们使用`ref`来创建一个对canvas元素的引用`mapCanvas`,然后在组件渲染后的`onMounted`钩子函数中获取canvas的上下文对象`ctx`,设置画布尺寸,并使用`ctx.beginPath()`、`ctx.moveTo()`、`ctx.lineTo()`、`ctx.fillText()`和`ctx.stroke()`方法来绘制刻度和数值。 请注意,上面的示例仅绘制了经度和纬度的刻度和数值,如果您需要绘制地图边界的其他元素,可以根据Leaflet库提供的相关方法进行扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值