当前位置: 首页 > news >正文

江阴早晨网站建设利用织梦搭网站

江阴早晨网站建设,利用织梦搭网站,设置引擎营销是用户主导的网络营销方式,网页设计大赛新闻稿前言 在现代 Web 开发中#xff0c;地图功能已经成为许多应用的重要组成部分。OpenLayers 是一个强大的开源地图库#xff0c;支持多种地图源和地图操作。结合 Vue 3 的响应式特性#xff0c;我们可以轻松实现地图的交互功能。本文将详细介绍如何在 Vue 3 中使用 OpenLayer…前言 在现代 Web 开发中地图功能已经成为许多应用的重要组成部分。OpenLayers 是一个强大的开源地图库支持多种地图源和地图操作。结合 Vue 3 的响应式特性我们可以轻松实现地图的交互功能。本文将详细介绍如何在 Vue 3 中使用 OpenLayers 绘制点、线、圆和多边形。 技术栈 Vue 3用于构建用户界面。 OpenLayers用于地图渲染和交互。 Element Plus用于 UI 组件如下拉菜单。 实现步骤 1. 环境准备 首先确保你已经创建了一个 Vue 3 项目。如果还没有可以通过以下命令创建一个 npm create vuelatest 然后安装 OpenLayers 和 Element Plus npm install ol element-plus 2. 项目结构 在项目中创建一个组件例如 OpenLayersMap.vue用于实现地图绘制功能。 3. 代码实现 以下是完整的代码实现 !--* Author: 彭麒* Date: 2025/1/6* Email: 1062470959qq.com* Description: 此源码版权归吉檀迦俐所有可供学习和借鉴或商用。-- templatediv classcontainerdiv classw-full flex justify-center flex-wrapdiv classfont-bold text-[24px]在Vue3中使用OpenLayers绘制点、线、圆、多边形/div/divh4el-select idtype v-modeltype stylewidth: 240px;margin-top: 20px;margin-bottom: 20pxel-option v-foritem in tools :keyitem.value :valueitem.value{{ item.label }}/el-option/el-select/h4div idvue-openlayers/div/div /templatescript setup import { ref, watch, onMounted } from vue; import ol/ol.css; import { Map, View } from ol; import Tile from ol/layer/Tile; import OSM from ol/source/OSM; import LayerVector from ol/layer/Vector; import SourceVector from ol/source/Vector; import Draw from ol/interaction/Draw; import Fill from ol/style/Fill; import Stroke from ol/style/Stroke; import Style from ol/style/Style; import Circle from ol/style/Circle;const type ref(Polygon); const tools ref([{ value: Point, label: 点 },{ value: LineString, label: 线 },{ value: Polygon, label: 多边形 },{ value: Circle, label: 圆 },{ value: None, label: 无 } ]);const map ref(null); const draw ref(null); const source new SourceVector({ wrapX: false });const initMap () {const raster new Tile({source: new OSM()});const vector new LayerVector({source: source,style: new Style({fill: new Fill({color: #00f}),stroke: new Stroke({width: 2,color: #ff0,}),image: new Circle({radius: 5,fill: new Fill({color: #ff0000})}),})});map.value new Map({target: vue-openlayers,layers: [raster, vector],view: new View({projection: EPSG:4326,center: [113.1206, 23.034996],zoom: 10})});addInteraction(); };const addInteraction () {if (draw.value ! null) {map.value.removeInteraction(draw.value);}if (type.value ! None) {draw.value new Draw({source: source,type: type.value,style: new Style({fill: new Fill({color: #0f0}),stroke: new Stroke({width: 2,color: #f00,}),image: new Circle({radius: 5,fill: new Fill({color: #00ff00})}),})});map.value.addInteraction(draw.value);} };watch(type, (newVal) {addInteraction(); });onMounted(() {initMap(); }); /scriptstyle scoped .container {width: 840px;height: 590px;margin: 50px auto;border: 1px solid #42B983; }#vue-openlayers {width: 800px;height: 400px;margin: 0 auto;border: 1px solid #42B983;position: relative; } /style 4. 代码详解 4.1 地图初始化 使用 Map 和 View 创建地图实例。 添加 OSM 底图和矢量图层。 设置地图的中心点和缩放级别。 4.2 绘制工具 使用 Draw 实现点、线、圆和多边形的绘制。 通过 type 动态切换绘制类型。 使用 Style 设置绘制样式。 4.3 响应式交互 使用 watch 监听 type 的变化动态更新绘制工具。 使用 onMounted 在组件挂载后初始化地图。 5. 运行效果 运行项目后页面会显示一个地图和一个下拉菜单。用户可以通过下拉菜单选择绘制类型然后在地图上绘制相应的图形。 总结 本文详细介绍了如何在 Vue 3 中使用 OpenLayers 实现点、线、圆和多边形的绘制功能。通过结合 Vue 3 的响应式特性和 OpenLayers 的强大功能我们可以轻松实现复杂的地图交互。希望本文对你有所帮助欢迎在评论区交流讨论 参考文档 OpenLayers 官方文档 Vue 3 官方文档 Element Plus 官方文档 希望这篇博文能帮助你在 CSDN 上分享你的技术经验如果有其他问题欢迎随时提问
http://www.dnsts.com.cn/news/209135.html

相关文章:

  • 有趣网站之家网站建设情况的汇报
  • 求网页设计网站新闻营销
  • jsp网站建设项目实战总结扬中seo
  • 外贸专业网站建设企业网站建设国内外现状
  • 做网站哪些网络公司好网站可以几个服务器
  • 东莞做网页建站公司上饶做网站
  • 做二维码的网站项目计划书如何写
  • 厦门建设网站企业宜昌最新消息今天
  • 天津网站在哪里建设常州效果图制作
  • 网站模板制作步骤房地产网站建设平台
  • 装修设计的网站企业备案网站名称怎么填
  • 苏格网站建设建设银行网站可以更改个人电话
  • 记事本做网站怎么调整图片间距杭州房价
  • 宁波seo在线优化公司东莞百度seo服务公司
  • 广西钦州网站建设wordpress粉色主题
  • 建设房屋出租网站百度竞价怎么做效果好
  • 个人音乐网站源码厅网站集约化建设
  • 网站推广计划的内容深圳找工作哪个网站好
  • 网站装修怎么做编程软件app
  • 可以登录国外网站吗红色风格网站
  • 网站怎么做权重深圳最新新闻事件今天
  • 空调安装东莞网站建设广州建网站藤虎
  • 大学网站建设做微商想做个网站
  • html网站建设代码专业的建网站公司地址
  • 视频网站怎么做网站引流慈溪哪里有做网站
  • 注册网站流程怎么用群晖nas做网站
  • 成都网站建设维护优惠购网站怎么做的
  • wordpress 闭站wordpress添加 logo
  • 查询证书网站建设如何制作网址内容
  • 微信引流推广 方法百度seo排名报价