vue3使用leaflet的时候高亮显示省市区

在使用leaflet的时候,有需求高亮显示省市区,难道我们要去找后端拿数据?

其实很简单!!!

1.首先第一步:DataV.GeoAtlas地理小工具系列打开这个工具,获取你想要的区域的json数据。

2.复制文件链接:​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

3.复制后通过浏览器打开你复制的链接,复制所有文字

4.复制后在你的项目的public中新增一个js文件:

5.在你新增的文件中写:export default加上你复制的的json数据。

6.打开你的运用地图的页面:

javascript 复制代码
import chenghuaData from '/@/../public/libs/geojson/chenghua.js'
let chenghuahighlighted: L.Polygon | null = null
//在你的定义地图后编写,mapInstance是你的地图容器
  const coordinates = chenghuaData.features[0].geometry.coordinates[0][0];
      // 转换坐标格式 [lng, lat] -> [lat, lng]
      const convertedCoordinates = coordinates.map((coord: [number, number]) => [coord[1], coord[0]]);
      
      console.log('成华区坐标数据:', convertedCoordinates);

      chenghuahighlighted = L.polygon(convertedCoordinates, {
        color: '#3366FF',
        fillColor: '#3366FF',
        fillOpacity: 0.5,
        weight: 2
      }).addTo(mapInstance);
//为你的高亮添加一些样式
chenghuahighlighted.on({
        mouseover: function(e: any) {
          if (mapInstance && chenghuahighlighted) {
            chenghuahighlighted.setStyle({
              fillColor: '#3366FF',
              color: '#3366FF',
              weight: 3,
              fillOpacity: 0.7
            });
          }
        },
        mouseout: function(e: any) {
          if (chenghuahighlighted) {
            chenghuahighlighted.setStyle({
              fillColor: '#3366FF',
              color: '#3366FF',
              weight: 2,
              fillOpacity: 0.5
            });
          }
        },})
相关推荐
哆啦A梦158832 分钟前
axios 的二次封装
前端·vue.js·node.js
阿珊和她的猫40 分钟前
深入理解与手写发布订阅模式
开发语言·前端·javascript·vue.js·ecmascript·状态模式
yinuo1 小时前
一行 CSS 就能搞定!用 writing-mode 轻松实现文字竖排
前端
snow@li1 小时前
html5:拖放 / demo / 拖放事件(Drag Events)/ DataTransfer 对象方法
前端·html·拖放
爱看书的小沐1 小时前
【小沐杂货铺】基于Three.js渲染三维风力发电机(WebGL、vue、react、WindTurbine)
javascript·vue.js·webgl·three.js·opengl·风力发电机·windturbine
qq_398586542 小时前
Threejs入门学习笔记
javascript·笔记·学习
浪裡遊3 小时前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
課代表3 小时前
JavaScript 二维数组的三种定义与初始化方法
javascript·初始化·二维数组·多维数组·动态数组·循环遍历·数组合并
鸡吃丸子3 小时前
Next.js 入门指南
开发语言·javascript·next.js
罚时大师月色4 小时前
Vue+ts 如何实现父组件和子组件通信
javascript·vue.js·ecmascript