uniapp地图基本使用及解决添加markers不生效问题?

news2024/11/25 23:02:42

uniapp地图使用

App端 通过 nvue 页面实现地图

文章目录

    • uniapp地图使用
      • 效果图
      • template
      • js
        • 添加 marker
        • 使用地图查看位置
        • 移到到当前位置

效果图

在这里插入图片描述


template

<template>
	<view class="mapWrap">
		<!-- #ifdef APP-NVUE -->
		<map class="map-container" id="map" :longitude="location.lng" :latitude="location.lat" 
			:show-location="true" :enable-3D="enable3D" :markers="markers" :include-points="includePoints" @callouttap="oncallouttap">
		</map>
		
		<!-- 定位当前位置 -->
		<cover-view class="myLocation fcc">
			<cover-image class="img" src="@/static/image/icon/currnet_location.png" @click="moveToMyLocation"></cover-image>
		</cover-view>
		<!-- #endif -->
	</view>
</template>

js

添加 marker
使用地图查看位置
移到到当前位置
<script>
    export default {
		data() {
			return {
				location: {
					lng: 114.058279,
					lat: 22.505375
				},
				markers: [],
				includePoints: []
			}
		},
		onLoad() {
			let tmpLocation = this.$store.state.location;
			if (tmpLocation.lng) {
				this.location = tmpLocation;
			}
        },
        onReady() {
		    this.map = uni.createMapContext("map", this);
		},
        methods: {
            getData() {
                // ....
                // 测试数据
                this.dataList = [
					{
						name: "长安街",
						location: {
							lat: 39.907145,
							lng: 116.396651
						}
					},
					{
						name: "天安门",
						location: {
							lat: 39.908823,
							lng: 116.39747
						}
					}
				]
                
                // 添加 marker
                this.addMarkers();
            },
            /**
             * 添加marker
             */
            addMarkers() {
                let markerList = [];
                this.batteryList.forEach((item, index) => {
                    let location = item.location;
                    if (location) {
                        // 直接使用 this.markers.push()方式,无法添加 marker
                        markerList.push({
                            id: Number(index + 1),
                            latitude: Number(location.lat),
                            longitude: Number(location.lng),
                            title: item.name,
                            zIndex: '1',
                            rotate: 0,
                            width: 30,
                            height: 30,
                            anchor: {
                                x: 0.5,
                                y: 1
                            },
                            callout: {
                                content: item.name,
                                color: '#fff',
                                fontSize: 10,
                                borderRadius: 4,
                                borderWidth: 1,
                                borderColor: '#fb6620',
                                bgColor: '#f7b733',
                                padding: '5',
                                display: 'ALWAYS'
                            },
                            iconPath: '/static/image/icon/location01.png'
                        })
                    }
                     this.markers = markerList;
                })
            },
            /**
             * 气泡事件
             */
            oncallouttap(e) {
				const { markerId } = e.detail;
				const marker = this.markers.find((item) => item.id === markerId);
                // 使用地图查看位置
				uni.openLocation({
					latitude: marker.latitude,
					longitude: marker.longitude,
					name: marker.title,
					success: (res) => {
						console.log('success');
					}
				});
			},
            /**
             * 移到到当前位置
             */
			moveToMyLocation() {
                let latitude = this.location.lat;
                let longitude = this.location.lng;
				this.map.moveToLocation({
					latitude,
					longitude,
					success: (res) => {
						this.includePoints = [{
							latitude,
							longitude
						}];
					}
				});
			}
        }
	}
</script>

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

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

相关文章

Java---权限修饰符、final、static

文章目录 1. 权限修饰符2. final(最终态)3. static(静态) 1. 权限修饰符 修饰符同一个类中同一个包中的子类和无关类不同包的子类不同包的无关类private√默认√√protected√√√public√√√√ 2. final(最终态) 1. final关键字是最终的意思&#xff0c;可以修饰成员方法、…

量子力学技术前沿:探索、挑战与未来

量子力学技术前沿:探索、挑战与未来 一、引言 量子力学,这门揭示微观世界规律的学科,自诞生以来就在科技领域发挥着举足轻重的作用。随着科技的飞速发展,量子力学的应用也在不断拓展和深化。今天,我将带领大家一起领略量子力学技术的魅力,探讨其发展趋势和挑战。 二、量…

【Vue】绝了!这生命周期流程真...

hello&#xff0c;我是小索奇&#xff0c;精心制作的Vue系列持续发放&#xff0c;涵盖大量的经验和示例&#xff0c;如果对您有用&#xff0c;可以点赞收藏哈~ 生命周期 Vue.js 组件生命周期&#xff1a; 生命周期函数&#xff08;钩子&#xff09;就是给我们提供了一些特定的…

STM32之模数转换器ADC

目录 1、ADC介绍 1.什么是ADC&#xff1f; ADC的全称是Analog-to-Digital Converter&#xff0c;指模拟/数字转换器 2.ADC的性能指标 3.ADC特性 12位分辨率 4.ADC通道 5.ADC转换顺序 6.ADC触发方式 7.ADC转化时间 8.ADC转化模式 9.模拟看门狗 实验&#xff1a;使用ADC读…

【C数据(一)】数据类型和变量你真的理解了吗?来看看这篇

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 ✏️真正相信奇迹的家伙&#xff0c;本身和奇迹一样了不起啊&#xff01; 欢迎大家关注&#x1f50d;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;>希望看完我的文章对你有小小的帮助&am…

Shell条件变量练习

1.算数运算命令有哪几种&#xff1f; (1) "(( ))"用于整数运算的常用运算符&#xff0c;效率很高 [rootshell scripts]# echo $((24*5**2/8)) #(( ))2452814 14 (2) "$[ ] "用于整数运算 [rootshell scripts]# echo $[24*5**2/8] #[ ]也可以运…

Spring Boot进行单元测试,一个思路解决重启低效难题!

所谓单元测试就是对功能最小粒度的测试&#xff0c;落实到JAVA中就是对单个方法的测试。 junit可以完成单个方法的测试&#xff0c;但是对于Spring体系下的web应用的单元测试是无能为力的。因为spring体系下的web应用都采用了MVC三层架构&#xff0c;依托于IOC&#xff0c;层级…

2023-11-28 LeetCode每日一题(设计前中后队列)

2023-11-28每日一题 一、题目编号 1760.设计前中后队列二、题目链接 点击跳转到题目位置 三、题目描述 请你设计一个队列&#xff0c;支持在前&#xff0c;中&#xff0c;后三个位置的 push 和 pop 操作。 请你完成 FrontMiddleBack 类&#xff1a; FrontMiddleBack() 初…

HCIP --- MGRE综合实验

一、总体规划 二、AR1配置思路及步骤 一、接口地址分配及缺省路由&#xff1a; The device is running! AR1&#xff1a; <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sy r1 [r1]interface s4/0/0 [r1-Serial4/0/0]ip address 15.0.0.1 255.0…

Pytorch Lightning 完全攻略

Pytorch-Lightning这个库我“发现”过两次。第一次发现时&#xff0c;感觉它很重很难学&#xff0c;而且似乎自己也用不上。但是后面随着做的项目开始出现了一些稍微高阶的要求&#xff0c;我发现我总是不断地在相似工程代码上花费大量时间&#xff0c;Debug也是这些代码花的时…

Ubuntu 上使能 SELinux

首发公号&#xff1a;Rand_cs 此文档说明如何在 ubuntu 上启用 SELinux&#xff0c;测试环境为虚拟机&#xff0c;开始前一定一定一定先来个快照&#xff0c;不要问我为什么有三个一定。 卸载 apparmor&#xff08;可选&#xff09; ubuntu 默认安装的安全组件为 apparmor&a…

实时设计:带你0基础入门ComfyUI工作流#N3期AIGC训练营

想知道这个工作流是怎么实现的吗&#xff1f; 使用ComfyUI&#xff0c;一款基于Stable diffusion的节点式UI&#xff0c;低显存占用&#xff0c;完成SD使用流程的自动化。通过自定义的屏幕共享节点&#xff0c;调用实时LCM生成图像。 这个月还有 AI 训练营可以报名吗&#xff1…

第10关:基数排序

任务要求参考答案问答98 任务描述相关知识 基数排序算法编程要求测试说明 任务描述 本关任务&#xff1a;实现基数排序算法&#xff0c;并将乱序数列变成升序。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.基数排序算法。 基数排序算法 基数排序是按…

Android Studio 添加so无法打包进apk问题

1.开发环境&#xff1a; Android Studio 2022.3.1 Patch 2 jdk 17 gradle-7.4 2.build.grade配置检查 首先查看build.gradle中是否设置sourceSets &#xff0c;如果设置的话&#xff0c;打包的时候so是被指导libs目录下的&#xff0c;所有就不能把jnilibs下。 sourceSets {mai…

MOSFET安全工作区域SOA

Safe Operating Area&#xff08;SOA&#xff09;即安全工作区&#xff1a;描述了当MOSFET工作在饱和区时可以处理的最大功率。超出安全工作区&#xff0c;则可能导致元件损坏。 SOA分为五个单独的界限&#xff0c;分别是RDS(on)限制 On Resistance&#xff08;RDS(on)&#…

linux获得帮助_如何查看命令的用法、作用

Linux获得帮助 多层次的帮助&#xff1a; whatis command --help man and info /usr/share/doc/ Red Hat documentation 、Ubuntu documentation 软件项目网站 其它网站 搜索 whatis 使用数据库来显示命令的简短描述。 [rootlocalhost ~]# whatis rm rm (1) …

Android : SQLite 增删改查—简单应用

示例图&#xff1a; 学生实体类 Student.java package com.example.mysqlite.dto;public class Student {public Long id;public String name;public String sex;public int age;public String clazz;public String creatDate;//头像public byte[] logoHead;Overridepublic St…

JSP迭代标签之 forEach循环标签 基本使用讲解

好 之前我们讲完了 我们的条件动作标签 那么 我们来继续说 迭代标签 所谓迭代就是 将某个主体循环多次 也可以循环 集合 对象 map 这个标签叫 forEach items 就是 我们要循环的数据 注意 这里 操作的也是域对象中的值 begin 开始说 例如 i 0;i<x;i begin 就是开始数 当前…

COMSOL Multiphysics-软件功能详细介绍 COMSOL怎么创建3D模型

Comsol Multiphysics 是一款功能强大的多物理场建模和仿真软件&#xff0c;适用于 Mac 平台。它被广泛应用于工程、科学和研究领域&#xff0c;可以模拟和分析各种物理现象和工程问题。 使用 Comsol Multiphysics&#xff0c;用户可以建立复杂的物理模型&#xff0c;包括热传导…

如何控制Spring工厂创建对象的次数?详解Spring对象的声明周期!

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…