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

小程序集arcgis地图显示自定义坐标的功能实现记录!(学习笔记)

最近再做一个新能源回收项目,项目中有个根据回收点坐标数据显示区域内回收点位置,点击图标直接导航到该位置,及分布的需求,研究了一下,实现效果如下,实现起来很简单,代码及效果
在这里插入图片描述
回收点位置及分布效果如图:
在这里插入图片描述
点击图标导航直达效果:
在这里插入图片描述
代码如下

data() {return {longitude: 118.796877, // 初始经度latitude: 32.060255,  // 初始纬度scale: 14,           // 初始缩放级别markers: [],         // 用于存储地图上的标记数据};},onLoad() {// 假设这里你已经通过API获取了ArcGIS图层中的点位数据,并解析成了以下格式:  const pointsData = [  { id: 1, latitude: 32.060255, longitude: 118.796877, iconPath: '/static/icondc/icon2.png' },{ id: 2, latitude: 31.943066, longitude: 118.795807, iconPath: '/static/icondc/icon2.png' },{ id: 3, latitude: 32.060005, longitude: 118.788877, iconPath: '/static/icondc/icon2.png' },{ id: 4, latitude: 32.056232, longitude: 118.797241, iconPath: '/static/icondc/icon2.png' },{ id: 5, latitude: 32.05338585150547, longitude: 118.79315867787933, iconPath: '/static/icondc/icon2.png' },// ... 其他点位数据  ];  // 将点位数据转换为小程序map组件可以识别的markers数组  const markers = pointsData.map(point => ({  id: point.id,  latitude: point.latitude,  longitude: point.longitude,  iconPath: point.iconPath, // 自定义图标路径,注意路径可能需要是相对于项目的静态资源路径  width: 50, // 标记宽度  height: 50, // 标记高度  }));  this.markers = markers; // 在 uni-app 中,你可以直接修改 data 中的属性来触发视图更新  },methods: {// 用于处理 marker 的点击事件onMarkerTap(event) {const markerId = event.markerId; // 获取当前点击的 marker 的 idconst tappedMarker = this.markers.find(marker => marker.id === markerId); // 根据 id 获取点击的 marker 数据if (!tappedMarker) return; // 如果找不到 marker,则不执行后续操作// 在这里可以弹出一个浮窗提示用户是否导航到这里// 假设有一个自定义的弹窗组件 showDialog 可以接收一个回调函数this.showDialog(() => {// 当用户点击确认后,执行导航操作uni.openLocation({latitude: tappedMarker.latitude,longitude: tappedMarker.longitude,success() {console.log('导航成功');},fail() {console.log('导航失败');}});});},

相关文章:

  • 云原生架构案例分析_3.某快递公司核心业务系统云原生改造
  • C++ | Leetcode C++题解之第130题被围绕的区域
  • 大数据数据治理工具
  • 逻辑问题的基本知识总结越权支付验证码弱口令
  • android 调试UI 按钮无法点击事件问题
  • Vitis HLS 学习笔记--global_array_RAM初始化
  • 【C++初阶学习】第十二弹——stack和queue的介绍和使用
  • 群体优化算法---蜂群优化算法应用于数据挖掘
  • 基于uni-app的 年-月-日 时 时间日期范围控件
  • k8s牛客面经篇
  • 【Spring框架全系列】SpringBoot_3种配置文件_yml语法_多环境开发配置(详细)
  • Linux【工具 03】Telnet服务安装使用(安全性较差 非特殊情况尽量不要使用)
  • 24.面向对象六大原则
  • 【python深度学习】——tensor内部存储结构|内存优化与as_strided|内存紧凑化contiguous
  • 面试题:说说浏览器的缓存机制
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 30天自制操作系统-2
  • Effective Java 笔记(一)
  • ES6简单总结(搭配简单的讲解和小案例)
  • export和import的用法总结
  • github从入门到放弃(1)
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • webgl (原生)基础入门指南【一】
  • 简单数学运算程序(不定期更新)
  • 批量截取pdf文件
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 走向全栈之MongoDB的使用
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 仓管云——企业云erp功能有哪些?
  • ​字​节​一​面​
  • #每天一道面试题# 什么是MySQL的回表查询
  • #知识分享#笔记#学习方法
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (zhuan) 一些RL的文献(及笔记)
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (规划)24届春招和25届暑假实习路线准备规划
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (一)、python程序--模拟电脑鼠走迷宫
  • (转) 深度模型优化性能 调参
  • (转)iOS字体
  • (转)甲方乙方——赵民谈找工作
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .apk 成为历史!
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .Net IE10 _doPostBack 未定义
  • .Net Redis的秒杀Dome和异步执行
  • .net 程序发生了一个不可捕获的异常