leaflet 沿河流流向显示河流名字

news2024/11/25 19:51:39

1.效果图:

 2.代码块 

首先需要借助一个插件3mapslab-Leaflet.streetlabels(这个插件也可用于显示街道名字用的)

插件可在leaflet官网上下载及案例!

---
layout: default
---

<div id='map' style="width:100%;min-height:300px;height:100%"></div>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"></script>
<!-- <script
  src='https://rawcdn.githack.com/Viglino/Canvas-TextPath/9a757d745071e0eaf2440a1d02117dad38f5b6dd/ctxtextpath.js'></script> -->
<!-- <script src='https://raw.githack.com/3mapslab/Leaflet.streetlabels/master/dist/Leaflet.streetlabels.js'></script> -->
<script src='demo/Leaflet.streetlabels.js'></script>
<script src='demo/ctxtextpath.js'></script>
<script src='demo/oporto.js'></script>
<script src='demo/lisbon.js'></script>
<script src='demo/oporto_parishes.js'></script>
<script src='demo/jiulongpo_pointwater.js'></script>
<script>
  var streetLabelsRenderer = new L.StreetLabels({
    collisionFlg: true,
    propertyName: 'name',
    showLabelIf: function (layer) {
      console.log(layer)

      return true; //layer.properties.type == "primary";
    },
    fontStyle: {
      dynamicFontSize: false,
      fontSize: 10,
      fontSizeUnit: "px",
      lineWidth: 4.0,
      fillStyle: "black",
      strokeStyle: "red",
    },
  });

  //Load the OPorto Dataset
  /*  var oportoDataset = L.geoJSON(jiulongpo_pointwater, {
     onEachFeature: onEachFeature
   }); */



  //Load the Lisbon Dataset
  /*   var lisbonDataset = L.geoJSON(lisbon, {
      onEachFeature: onEachFeature
    });
  
    //Load the OPorto Civil Parishes Dataset
    var oPortoParishesDataset = L.geoJSON(oporto_parishes, {
      onEachFeature: onEachFeature
    }); */

  function onEachFeature(feature, layer) {
    //Do something with the features here (bind popups, etc)
  }

  var map = L.map('map',
    {
      renderer: streetLabelsRenderer,
      zoomSnap: 0.1, // 地图的有效缩放级别
      maxZoom: 13,
      // crs: L.CRS.EPSG4326,  // 高德不是这个坐标系   
      zoomControl: true,
      editable: true,
      // wheelPxPerZoomLevel:	60  // 鼠标滚轮缩放 较小的值将使滚轮轮缩放更快
    }).setView([29.472198486328125, 106.3741735158207], 13); // 重庆璧山区经纬度
  let baseLayer = L.tileLayer("http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}", {
    attribution: '&copy; 高德地图',
    maxZoom: 13,
    minZoom: 3,
    subdomains: "1234",
    zoom: 3
  });
  map.addLayer(baseLayer);
  var layer = L.geoJson(jiulongpo_pointwater, {
    style: function (geoJsonFeature) {
      let name = geoJsonFeature.properties.name
      // console.log(name)

      let whiteList = ['大溪河', '桃花溪', '跳磴河', '长江']
      let weight = 4
      if (whiteList.includes(name)) {
        weight = 16
      }
      return {
        fillColor: "#334ad7",
        fillOpacity: 1,
        weight: weight,
        color: "#114694",
      }
    },
  });
  map.addLayer(layer);

  // addRiver()
  /* var baseLayer = L.tileLayer("http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}", {
    attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>',
  });
  var map = L.map('map', {
    renderer: streetLabelsRenderer, //Custom Canvas Renderer
    layers: [baseLayer, oportoDataset],
  }).setView([106.3741735158207, 29.472198486328125], 18); */

  // L.control.layers({ "OSM": baseLayer }, { "OPorto Dataset": oportoDataset, "Lisbon Dataset": lisbonDataset, "OPorto Parishes Dataset": oPortoParishesDataset }).addTo(map);


  function addRiver() {


  }


</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/774342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年,做好数据分析项目,四分之三就靠它了

摘要 在2023年&#xff0c;数据分析成为了一个卓越的商业实践&#xff0c;为企业和组织带来了巨大的成功。本文将深入探讨一个重要数据分析项目&#xff0c;其成功的四分之三依赖于数据洞察力的重要性。通过合理的数据收集、清洗、分析和解释&#xff0c;企业能够获得实质性的见…

关于生物数据库定制研发-开发注意事项

目前需要定制开发一款核酸数据库、蛋白数据库、蛋白结构数据库或是通路数据库等生物医药数据库成本无疑是巨大的&#xff01;需要承受生物数据获取成本、开发成本、专业人才挖掘、行业壁垒攻克、研发及运维等碎片化难题&#xff0c;所以找到一家实力强劲专业公司是很有必要的。…

fastadmin采坑之关联id

在add.html中添加 尤其要注意 data-field属性这个是最重要的&#xff0c;不然搜索不出来 <div class"form-group"><label class"required control-label col-xs-12 col-sm-2">{:__(Meeting_id)}:</label><div class"col-xs-12…

nosql作业

nosql作业 文章目录 作业一&#xff1a;string list hash结构中&#xff0c;每个至少完成5个命令&#xff0c;包含插入 修改 删除 查询&#xff0c;list 和hash还需要增加遍历的操作命令1、 string类型数据的命令操作&#xff1a;2、 list类型数据的命令操作&#xff1a;3、 ha…

计算机专升本基础笔记二 进制转换及二进制运算规则

进制转换及二进制运算规则 什么是进制&#xff1f;     进制就是进位计数制&#xff0c;是人为定义的带进位的计数方法。我们的时间就是六十进制(满60秒进一分钟&#xff0c;满60分钟进1小时&#xff09;&#xff1b;对于任何一种进制—X进制&#xff0c;就表示每一位上的数…

网络子系统学习2:套接字缓冲区

套接字缓冲区 目录 套接字缓冲区 套接字缓冲区整体结构 使用套接字缓冲区管理数据 管理套接字缓冲区数据 套接字缓冲区整体结构 在内核分析&#xff08;收到的&#xff09;网络分组时&#xff0c;底层协议的数据将传递到更高的层。发送数据时顺序相反&#xff0c;各种协议…

usb转网口转换器经常自动断网

问题&#xff1a; 最近使用一个usb转网口的扩展坞&#xff0c;发现和其它机器通信时&#xff0c;经常会自动断网。 原因&#xff1a; 和设备的电源管理策略有关&#xff0c;USB设备的“允许计算机自动关闭此设备以节约电源”选项默认是选中的&#xff0c;而网络设备的此选项默…

Java正则表达式匹配字符类

1、匹配字符的示例 以下是在java中使用正则表达式匹配字符的各种示例。 2、匹配字符类 以下是在java中使用正则表达式匹配字符类的一些示例。 3、匹配预定义字符类 以下是使用java中的正则表达式匹配预定义字符类的各种示例。 4、匹配POSIX字符类 以下是使用java中的正则表…

【精简版--纯操作】zabbix企业级监控(简单操作、页面优化、监控主机自己、监控linux、监控Win10)

zabbix企业级监控&#xff08;简单操作、页面优化、监控主机自己、监控linux、监控Win10&#xff09; 目录 一、zabbix安装部署 二、图形化操作&#xff1a;web安装zabbix 三、Zabbix页面优化 四、Zabbix监控自己 五、监控linux主机&#xff1a; 六、监控Win10主机&…

工业RFID识别设备可以分为哪几种?

常见的工业RFID识别设备可以分为&#xff1a;读写器、读写模块、手持终端、工业通道等设备&#xff0c;不同的设备对应不同的应用场景&#xff0c;下面我们就一起来了解一下这些RFID识别设备都有哪些具体应用。 工业rfid识别设备可以分为哪几种? 1、 读写器 RFID读写器是用于读…

Spring框架的创建和使用

目录 Spring框架概述 什么是Spring框架 什么是容器 什么是IoC容器 Spring的核心功能 IoC容器和普通程序开发的区别 DI Spring项目的创建和使用 Spring项目创建 创建一个maven项目 添加Spring框架支持 添加一个启动类 Spring项目的使用 存储Bean对象 获取并使用B…

04规划模型练习题

(0-1 规划)某公司董事会正在考虑几个大型的投资项目&#xff0c;每个项目只能投资一次&#xff0c;且各个项目所需的投资金额与能够产生的预期收益是不同的&#xff0c;具体见表 1 所示.已知公司现有的投资额是 1亿美金&#xff0c;其中投资项目 1和项目 2 是斥的&#xff0c;项…

物理层——数据通信基础知识

1.典型的数据通信模型 2.数据通信的相关术语 2.1 三种通讯方式 2.2 数据传输方式 2.3 常用编码方式&#xff08;数字信号&#xff09; 曼彻斯特编码 将一个码元分成两个相等的间隔&#xff1b; 前一个间隔为 低电平 &#xff0c;后一个间隔为 高电平 表示码元1&#xff1b; 码…

Type-C带充电的OTG转接器方案 LDR6028

近些年随着社会生活水平提高&#xff0c;每个人的的电子设备逐渐的多了起来&#xff0c;各大品牌都在发售自家品牌的全家桶。手机、平板、笔记本电脑、智能手表、无线耳机、任天堂Switch、索尼PS5等电子设备一种不落。 那么多的电子设备基本来说都是需要充电&#xff0c;比如手…

JS-27 前端数据请求方式;HTTP协议的解析;JavaScript XHR、Fetch的数据请求与响应函数;前端文件上传XHR、Fetch;安装浏览器插件FeHelper

目录 1_前端数据请求方式1.1_前后端分离的优势1.2_网页的渲染过程 – 服务器端渲染1.3_网页的渲染过程 – 前后端分离 2_HTTP协议的解析2.1_HTTP概念2.2_网页中资源的获取2.3_HTTP的组成2.4_HTTP的版本2.5_HTTP的请求方式2.6_HTTP Request Header2.7_HTTP Response响应状态码2.…

Mac 配置 host,且立即生效

在公司局域网下办公&#xff0c;经常需要在本地配置对应 host 映射&#xff0c;才能正常接入网络。本文就介绍一下怎么在 Mac 上配置 host&#xff0c;且立即生效。 修改 host 打开终端工具输入命令&#xff1a;sudo vi /etc/hosts输入密码&#xff0c;回车在英文状态下输入字…

途乐证券“美元见顶论”引爆华尔街,人民币反弹后怎么走?

受GDP数据不及预期影响&#xff0c;周一&#xff08;18日&#xff09;人民币对美元走弱&#xff0c;走弱起伏达到300点。不过&#xff0c;由于曩昔两周美元指数遭受“滑铁卢”并敏捷跌破100大关&#xff0c;人民币对美元仍交投于7.2之下。 跟着上星期美元经历了8个月来最糟糕的…

Airtest的安装、配置、使用教程

1.安装及配置 1.1 下载AirtestIDE 官网&#xff1a;https://airtest.netease.com/ 选择下载版本&#xff0c;根据自己电脑版本进行下载对应安装包。 解压文件&#xff0c;进入安装目录&#xff0c;找到 AirtestIDE.exe&#xff0c;双击即可启动。 1.2 下载Airtest第三方库 先…

性能测试需求分析怎么做?(上)

本系列文章我们为大家系统地介绍一下性能测试需求分析&#xff0c;让大家全面掌握性能测试的第一个环节。本系列文章将会从性能测试需求分析整体概述、性能测试需求分析内容、性能测试需求分析方法这三个方面进行展开。 首先我们先对信息系统地性能进行一下了解&#xff0c;为…