【openlayers系统学习】1.1渲染GeoJSON,添加link交互

一、渲染GeoJSON

在进入编辑之前,我们将看一下使用矢量源和图层进行基本要素渲染。Workshop在 data​ 目录中包含一个 countries.json​ GeoJSON文件。我们首先加载该数据并将其渲染在地图上。

首先,编辑 index.html​ 以便向地图添加深色背景:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>OpenLayers</title><style>@import "node_modules/ol/ol.css";</style><style>html, body, #map-container {margin: 0;height: 100%;width: 100%;font-family: sans-serif;background-color: #04041b;}</style></head><body><div id="map-container"></div><script src="./main.js" type="module"></script></body>
</html>

image

现在我们在mian.js文件中导入处理矢量数据的三个重要要素:

  • ‘ol/format/GeoJSON’:用于读取和写入序列化数据的格式(本例中为 GeoJSON)
  • ‘ol/source/Vector’:用于获取数据和管理要素空间索引的矢量源
  • ‘ol/layer/Vector’:用于在地图上渲染要素的矢量图层
import GeoJSON from 'ol/format/GeoJSON';
import Map from 'ol/Map';
import VectorLayer from 'ol/layer/Vector';
import VectorSource from 'ol/source/Vector';
import View from 'ol/View';new Map({target: 'map-container',layers: [new VectorLayer({source: new VectorSource({format: new GeoJSON(),url: './data/countries.json',}),}),],view: new View({center: [0, 0],zoom: 2,}),
});

您现在应该能够在 http://localhost:5173/ 上看到带有国家边界的地图。image

由于我们将多次重新加载页面,因此如果地图重新加载时保留位置,那就太好了。我们可以引入 Link​ 交互来完成这项工作。

i/*** 导入Link交互功能。* 该交互功能允许用户在地图上创建一个链接,将地图上的两个位置连接起来。* * 参数无。* * 返回值无,仅为导入模块。*/
import Link from 'ol/interaction/Link';

接下来我们需要将地图分配给一个变量(名为 map​ ),以便我们可以向其中添加交互:

const map = new Map({

image

现在我们可以向地图添加新的链接交互:

/*** 向地图中添加一个交互操作。* 这里的交互操作是指通过`Link`类创建的一个新的交互实例,它允许用户与地图进行某种形式的交互。* * new Link() - 创建的一个新的Link交互实例。* 参数通过`new Link()`的方式创建,并直接传递给`addInteraction`方法进行添加。* * 该方法没有返回值,其主要作用是将新的交互实例添加到地图中,以增强地图的可用性和用户体验。*/
map.addInteraction(new Link());

现在您应该看到页面重新加载时保持地图视图稳定。并且后退按钮的功能与您预期的一样。

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

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

相关文章

使用llama.cpp实现LLM大模型的格式转换、量化、推理、部署

使用llama.cpp实现LLM大模型的量化、推理、部署 大模型的格式转换、量化、推理、部署概述克隆和编译环境准备模型格式转换GGUF格式bin格式 模型量化模型加载与推理模型API服务模型API服务(第三方)GPU推理 大模型的格式转换、量化、推理、部署 概述 llama.cpp的主要目标是能够在…

【软考中级 软件设计师】数据结构

数据结构是计算机科学中一个基础且重要的概念&#xff0c;它研究数据的存储结构以及在此结构上执行的各种操作。在准备软考中级-软件设计师考试时&#xff0c;掌握好数据结构部分对于通过考试至关重要。下面是一些核心知识点概览&#xff1a; 基本概念&#xff1a; 数据结构定义…

VBA_MF系列技术资料1-615

MF系列VBA技术资料1-615 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…

spring-boot集成slf4j(二)logback配置详解

一、configuration 根节点&#xff1a;configuration&#xff0c;作为顶级标签&#xff0c; 可以用来配置一些lockback的全局属性&#xff0c;常见的属性如下&#xff1a; &#xff08;1&#xff09;scan“true” &#xff1a;scan是否开启自动扫描&#xff0c;监控配置文件更…

el-table 组件实现 “合并单元格 + N行数据小计” 功能

目录 需求 - 要实现的效果初始代码代码升级&#xff08;可供多个表格使用&#xff09;CommonTable.vue 子组件 使用子组件1 - 父组件 - 图1~图3使用效果展示 使用子组件2 - 父组件 - 图4使用效果展示 注意【代码优化 - 解决bug】 需求 - 要实现的效果 父组件中 info 数据示例 …

内网安全之证书服务基础知识

PKI公钥基础设施 PKI(Public Key Infrastructure)公钥基础设施&#xff0c;是提供公钥加密和数字签名服务的系统或平台&#xff0c;是一个包括硬件、软件、人员、策略和规程的集合&#xff0c;用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。企业…

element-plus:踩坑日记

el-table Q&#xff1a;有fixed属性时&#xff0c;无数据时&#xff0c;可能出现底部边框消失的bug 现象&#xff1a; 解决方法&#xff1a; .el-table__empty-block {border-bottom: 1px solid var(--el-table-border-color); } el-collapse 折叠面板 Q&#xff1a;标题上…

云平台的安全能力提升解决方案

提升云平台的安全能力是确保数据和服务安全的关键步骤。针对大型云平台所面临的云上安全建设问题&#xff0c;安全狗提供完整的一站式云安全解决方案&#xff0c;充分匹配云平台安全管理方的需求和云租户的安全需求。协助大型云平台建设全网安全态势感知、统一风险管理、统一资…

PCIE协议-4-物理层逻辑模块

4.1 简介 物理层将事务层和数据链路层与用于链路数据交换的信令技术隔离开来。物理层被划分为逻辑物理层和电气物理层子模块&#xff08;见图4-1&#xff09;。 4.2 逻辑物理层子模块 逻辑子模块有两个主要部分&#xff1a;一个发送部分&#xff0c;它准备从数据链路层传递过…

v-md-editor和SSE实现ChatGPT的打字机式输出

概述 不论是GPT还是文心一言&#xff0c;在回答的时候类似于打字机式的将答案呈现给我们&#xff0c;这样的交互一方面比较友好&#xff0c;另一方面&#xff0c;当答案比较多、生成比较慢的时候也能争取一些答案的生成时间。本文后端使用express和stream&#xff0c;使用SSE将…

Boosting Cache Performance by Access Time Measurements——论文泛读

TOC 2023 Paper 论文阅读笔记整理 问题 大多数现代系统利用缓存来减少平均数据访问时间并优化其性能。当缓存未命中的访问时间不同时&#xff0c;最大化缓存命中率与最小化平均访问时间不同。例如&#xff1a;系统使用多种不同存储介质时&#xff0c;不同存储介质访问时间不同…

【C++初阶】—— 类和对象 (上)

&#x1f4dd;个人主页&#x1f339;&#xff1a;EterNity_TiMe_ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 类和对象 1. 初步认识C2. 类的引入3. 类的定义声明和定义全部放在类体中声明和定义分开存放 4.…

8个实用网站和软件,收藏起来一定不后悔~

整理了8个日常生活中经常能用得到的网站和软件&#xff0c;收藏起来一定不会后悔~ 1.ZLibrary zh.zlibrary-be.se/这个网站收录了超千万的书籍和文章资源&#xff0c;国内外的各种电子书资源都可以在这里搜索&#xff0c;98%以上都可以在网站内找到&#xff0c;并且支持免费下…

linux中ansible整理笔记

一、工作模式 1. adhoc临时命令 语法&#xff1a; ansible 主机或者组列表 -m 模块 -a “参数” 2. playbook 语法&#xff1a; ansible-playbook xxx.yml 二、模块 1. ping 2.command:默认模块&#xff08;不支持重定向&#xff0c;管道&#xff09; 3.shell:类似com…

IP地址显示“不安全”怎么办|已解决

解决IP地址显示“不安全”的问题&#xff0c;通常需要确保网站或服务使用HTTPS协议进行加密通信&#xff0c;可以通过部署SSL证书来解决&#xff0c;以下是具体的解决步骤&#xff1a; 1 申请IP地址SSL证书&#xff1a;网站管理员应向证书颁发机构&#xff08;CA&#xff09;申…

网络拓扑—WEB-IIS服务搭建

文章目录 WEB-IIS服务搭建网络拓扑配置网络IISPC 安装IIS服务配置IIS服务&#xff08;默认站点&#xff09;PC机访问网页 配置IIS服务&#xff08;新建站点&#xff09;PC机访问网页 WEB-IIS服务搭建 网络拓扑 //交换机忽略不计 IIS服务IP&#xff1a;192.168.1.1 PC机IP&…

人类交互2 听觉处理和语言中枢

人类听觉概述 人类听觉是指通过耳朵接收声音并将其转化为神经信号&#xff0c;从而使我们能够感知和理解声音信息的能力。听觉是人类五种感觉之一&#xff0c;对我们的日常生活和交流至关重要。 听觉是人类交流和沟通的重要工具。通过听觉&#xff0c;我们能够听到他人的语言…

安装错误提示Please run MaterialLibrary2018.msi first或者其他MaterialLibrary版本

打开autoremove&#xff0c;系统检查&#xff0c;点击开始检查。检查完成修复。 可以解决部分该问题&#xff0c;如果没解决的请咨询

Linux中的文件描述符

1.系统调用接口和库函数的关系 函数&#xff1a;fopen fclose fread fwrite 都是c标准库当中的函数&#xff0c;也就是用户操作接口中ibc系统调用&#xff1a;open close read write 都是系统调用提供的接口 c语言中接口底层封装的都是系统调用接口 FILE* stdin stdout stderr…

Python模块、包和异常处理

大家好&#xff0c;在当今软件开发领域&#xff0c;Python作为一种简洁、易读且功能强大的编程语言&#xff0c;被广泛应用于各种领域。作为一名测试开发工程师&#xff0c;熟练掌握Python的模块、包和异常处理是提高代码可维护性和错误处理能力的关键。本文将和大家一起探讨Py…