四十三、openlayers官网示例Freehand Drawing解析——在地图上自由绘制图形

想要在地图上绘制自由图形,只需要在new Draw的时候多加一个配置项就行。

 function addInteraction() {const value = typeSelect.value;if (value !== "None") {draw = new Draw({source: source,type: typeSelect.value,freehand: true, //是否自由绘制});map.addInteraction(draw);}}

 完整代码:

<template><div class="box"><h1>Freehand Drawing</h1><div id="map"></div><form><label for="type">Geometry type &nbsp;</label><select id="type"><option value="LineString">LineString</option><option value="Polygon">Polygon</option><option value="Circle">Circle</option><option value="None">None</option></select></form></div>
</template><script>
import Draw from "ol/interaction/Draw.js";
import Map from "ol/Map.js";
import View from "ol/View.js";
import StadiaMaps from "ol/source/StadiaMaps.js";
import { OSM, Vector as VectorSource } from "ol/source.js";
import { Tile as TileLayer, Vector as VectorLayer } from "ol/layer.js";
var arc = require("arc");
export default {name: "",components: {},data() {return {map: null,extentData: "",};},computed: {},created() {},mounted() {const raster = new TileLayer({source: new StadiaMaps({layer: "outdoors",}),});const source = new VectorSource({ wrapX: false });const vector = new VectorLayer({source: source,});const map = new Map({layers: [raster, vector],target: "map",view: new View({center: [-11000000, 4600000],zoom: 4,}),});const typeSelect = document.getElementById("type");let draw; function addInteraction() {const value = typeSelect.value;if (value !== "None") {draw = new Draw({source: source,type: typeSelect.value,freehand: true,});map.addInteraction(draw);}}typeSelect.onchange = function () {map.removeInteraction(draw);addInteraction();};addInteraction();},methods: {},
};
</script><style lang="scss" scoped>
#map {width: 100%;height: 500px;
}
.box {height: 100%;
}
</style>

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

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

相关文章

在当前页面拿到抽屉弹窗页面中从后端返回的值 #Vue3 #两个.vue页面之间传值问题

在当前页面拿到抽屉弹窗页面中从后端返回的值 #Vue3 #两个.vue页面之间传值问题 *解决方法一&#xff1a; 将抽屉弹窗里从后端返回得到的值缓存在浏览器中&#xff0c;在当前页面中从浏览器中获取该值。 &#xff08;原理其实就是借助第三个盒子来传递一下值&#xff0c;太小学…

HIK录像机GB28181对接相机不在线问题随笔

一、问题现象 【设备信息】型号&#xff1a;DS-8664N-I16-V3 V4.63.000 build 230412 【问题现象】HIK录像机使用GB28181对接异常相机无法正常上线&#xff0c;对接HIK相机可以正常上线。 【现场拓扑】现场拓扑如下 NVR侧使用固定公网IP地址。IPC侧使用家用宽带的方式&…

第R3周:天气预测

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 &#x1f680; 文章来源&#xff1a;K同学的学习圈子 目录 我的环境 语言环境&#xff1a;python3.8.18编译器&#xff1a;jupyter not…

pikachu靶场(File Inclusion(文件包含)通关教程)

1.File Inclusion(local)本地文件包含 1.1打开网站&#xff0c;发现有个下拉框&#xff0c;随便选择一个&#xff0c;然后点击提交 1.2发现图中有个参数变了&#xff0c;其他的也会变&#xff0c;猜测这里可能有其他隐藏的文件 1.3直接进行抓包 &#xff0c;右键发送到爆破模…

LeetCode | 1470.重新排列数组

class Solution(object):def shuffle(self, nums, n):""":type nums: List[int]:type n: int:rtype: List[int]"""result []for i in range(n):result.append(nums[i])result.append(nums[i n])return result这题很容易想到的就是遍历整个数组…

拼多多第37期:拼多多单品裂变起爆2.0(17节课)

课程下载&#xff1a;拼多多第37期&#xff1a;拼多多单品裂变起爆2.0&#xff08;17节课&#xff09;-课程网盘链接提取码下载.txt资源-CSDN文库 更多资源下载&#xff1a;关注我。 课程内容&#xff1a; 01.《拼多多单品裂变起爆2.0》非标品类成功操作案例.mp4 02.《拼多…

【Python爬虫单点登录实战】PyExecJS破解慧职教:过河源技术学院单点登录统一身份认证

目录 前言大致分析PyExecJS 使用案例pip 安装:Demo:输出:案例1.访问目标网站的登录页面并查看源码2.将js放到和py脚本同一级目录下3. 编写Python脚本来调用js破解单点登录实战提取密钥参数清洗数据登陆测试单点登录获取ticket获取jsessionid获取token成功我的专栏前言 博主提供…

小程序中 使用 UDPSocke通讯的流程

小程序使用UDPSocket与设备通讯的步骤可以归纳如下&#xff1a; 创建UDPSocket实例&#xff1a; 使用wx.createUDPSocket()方法创建一个UDP Socket实例。 绑定端口&#xff1a; 调用UDPSocket.bind(number port)方法&#xff0c;绑定一个系统随机分配的可用端口&#xff0c;或…

java 子网掩码和IP计算起始IP和终止IP工具类

java 子网掩码和IP计算起始IP和终止IP工具类 1.根据掩码位数获取掩码 2.根据ip地址和掩码获取起始IP 3.根据ip地址和掩码获取终止IP 4.ip转换Long 5.实际可用ip数量 public class NetAddressUtils {/*** 根据掩码位数获取掩码*/public static String getNetMask(String ma…

写一个经典的java引用传递的例子

private fun getRaidType(): List<SelectItem<String>> {var list raidTyperaidType.forEach{Log.i("DHG","raidType is $it")}list.forEach{Log.i("DHG","list raidType is $it")}viewModel.diskInfo?.value?.forEach…

SOLIDWORKS参数化设计插件 慧德敏学

SOLIDWORKS软件是法国达索公司的产品&#xff0c;最初是满足欧美一些工程师产品设计需要而开发的&#xff0c;并没有考虑中国的企业实际情况。我们为满足国内客户的需要&#xff0c;对SOLIDWORKS进行了二次开发&#xff0c;借助SolidKits.AutoWorks参数化工具&#xff0c;通过一…

.Net Core 8.0 IIS部署遇到奇怪的部分接口报404的问题解决

本地运行没问题&#xff0c;部署到IIS后&#xff0c;部分接口报404&#xff0c;其它接口都正常。 经和群里讨论&#xff0c;大概意思是接口返回数据比较大的时候&#xff0c;就会出现这个问题。 查看事件查看器&#xff0c;发现应该是数据过大时使用了临时文件夹&#xff0c;…

2024高考作文引发的人工智能争议

又是一年高考季&#xff0c;多少学子的修行成果也在这这一刻迎来了终极检验&#xff0c;多少学子的梦也在这一刻拉开了揭晓序幕&#xff0c;多少学习的命运也在这一刻迎来了人生中的第一次转变。每年的高考不仅是学子们的人生大事&#xff0c;也是多少父母的热切期望&#xff0…

VSCode函数无法跳转问题,小插件安装说明

1、问题&#xff1a; VSCode中程序想查看某函数内部&#xff0c;无法跳转。 2、解决办法&#xff1a; 安装C/C GNU Global插件即可解决 3、安装操作步骤&#xff1a; 1&#xff09;方式1&#xff1a; 可在VSCode中左侧栏中&#xff08;图中1&#xff09;&#xff0c;搜索…

Ubuntu22.04之解决:无法关机和重启问题(二百四十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

LeetCode ---400周赛

题目列表 3168. 候诊室中的最少椅子数 3169. 无需开会的工作日 3170. 删除星号以后字典序最小的字符串 3171. 找到按位与最接近 K 的子数组 一、候诊室中的最少椅子数 简单的模拟题&#xff0c;我们可以这样来模拟&#xff1a;当有顾客来时&#xff0c;我们加一把椅子&…

使用mkfs.jffs2工具制作jffs2镜像

使用mkfs.jffs2工具制作jffs2镜像 -d 指定需要制作的文件夹目录名 -l 使用小端格式 -e 设定擦除块的大小 0x10000 (64K) 0x20000 (128K) 0x40000 (256K) mkfs.jffs2 -d test_jffs2 -l -e 0x10000 -o test_64k_jffs2.jffs2 mkfs.jffs2 -d test_jffs2 -l -e 0x20000 -o te…

关于使用南墙waf防护halo网站主页请求404报错的解决方案

文章目录 环境说明问题展示原因探究解决方法 环境说明 在1panel应用商店&#xff0c;部署南墙waf(docker版)halo(2.16.1社区版)注意部署过程中注意uuwaf必须勾选允许外部访问&#xff0c;halo可以不勾选[这里为了证明确实是南墙waf的原因&#xff0c;选择勾选] 问题展示 使…

泛微开发修炼之旅--09Ecology作为所有异构系统的待办中心,实现与kafka对接源码及示例

文章链接&#xff1a;泛微开发修炼之旅--09Ecology作为所有异构系统的待办中心&#xff0c;实现与kafka对接源码及示例

【力扣第 400 场周赛】Leetcode 删除星号以后字典序最小的字符串

文章目录 1. 删除星号以后字典序最小的字符串 1. 删除星号以后字典序最小的字符串 题目链接 &#x1f34e; 解题思路&#xff1a;遇到 *就删除一个字符&#xff0c;为了满足题意&#xff0c;要删除字典序最小的字符&#xff0c;那么假如有多个字典序最小的字符我们该删除哪个…