149:vue+leaflet 地理坐标 to 屏幕坐标

作者: 还是大剑师兰特 ,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。

查看本专栏目录 - 本文是第 149个示例

一、示例效果图:

在这里插入图片描述

二、示例简介

本示例演示如何在vue+leaflet中将地理坐标转换为屏幕像素坐标。
在使用 Leaflet(一个流行的开源 JavaScript 地图库)时,你可能会遇到需要将地理坐标(经纬度)转换为屏幕上的像素坐标的场景。这在绘制自定义覆盖物、进行交互或动画时非常有用。

三、配置方式

1)查看基础设置:https://xiaozhuanlan.com/topic/4190537826
或者同样查看:https://blog.csdn.net/cuclife/article/details/126745283
2)将上述的源代码,粘贴到src/views/Home.vue中,npm run serve 运行即可。

四、例源代码(共80行)


/*
* @Author: 大剑师兰特(xiaozh
Vue.js 和 Leaflet 是两个流行的前端开发框架,Vue用于构建用户界面,而Leaflet是一个强大的JavaScript库,专用于创建交互式的地图应用。要在Vue项目中结合Leaflet实现图层控制,你可以按照以下步骤操作: 1. **安装依赖**:首先,在Vue项目中通过npm或yarn安装`vue-leaflet`插件,这将提供Leaflet组件的集成支持。例如: ```bash npm install vue-leaflet leaflet --save ``` 2. **引入并配置**:在你的Vue组件中导入`VueMap`组件,并在`<template>`中添加一个`<div>`来容纳地图: ```html <template> <div id="map" ref="map"></div> </template> ``` 3. **设置地图**: ```javascript <script> import { VueMap } from 'vue-leaflet'; export default { components: { VueMap }, data() { return { map: null, layers: [ // 初始化地图所需的图层列表 { name: '基础图层', layer: L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' }) } ] }; }, mounted() { this.map = new VueMap({ el: '#map', center: [51.505, -0.09], // 地理坐标 zoom: 13, layers: this.layers }); } }; </script> ``` 4. **图层控制**:在Vue中可以动态管理图层,比如添加、删除或者显示隐藏。你可以为每个图层设置一个开关,监听用户的操作来控制图层状态。 ```html <template> ... <button v-for="(layer, index) in layers" :key="index" @click="toggleLayer(layer.name)"> {{ layer.name }} </button> ... </template> <script> ... methods: { toggleLayer(name) { this.map.layers.eachLayer((layer) => { if (layer.options.name === name) { layer.setOpacity(!layer.getOpacity()); layer.setVisible(!layer.getVisible()); } }); } } ... </script> ```
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还是大剑师兰特

打赏一杯可口可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值