• Uni-app 调用微信地图导航功能【有图】


    前言

    我们在使用uni-app时,有时候会遇到需要开发地图和导航的功能,这些方法其实微信小程序的API已经帮我们封装好了
    详见微信小程序开发文档
    接下来我们就演示如何用uni-app来使用他们

    使用

    <template>
    	<view>
    		<button type="primary" @click="chooseLocation" class="acc">选择位置 </button>
    		经度:<span>{{longitude==' ' || longitude==null ?'/':longitude}}</span>
    		纬度:<span>{{latitude==' ' || latitude==null ?'/':latitude}}</span>
    		<button type="default" @click="nav">导航 </button>
    	</view>
    </template>
    
    <script setup>
    	import { getCurrentInstance, ref } from "vue";
    	import { onBackPress } from "@dcloudio/uni-app";
    	const { proxy } = getCurrentInstance();
    
    	const name = ref(null)
    	const address = ref(null)
    	const latitude = ref(null)
    	const longitude = ref(null)
    
    
    	function nav() {
    		uni.openLocation({
    			latitude: latitude.value,
    			longitude: longitude.value,
    			name: name.value,
    			scale: 15,
    			address: address.value,
    			success: function(res) {
    				proxy.$modal.msgSuccess('打开地图成功!', res);
    			},
    			fail: function(error) {
    				proxy.$modal.msgError('打开地图失败!', error);
    			},
    		});
    	}
    
    
    	function chooseLocation() {
    		uni.chooseLocation({
    			success: function(res) {
    				name.value = res.name; // 位置名称
    				address.value = res.address; // 详细地址
    				latitude.value = res.latitude; // 纬度
    				longitude.value = res.longitude; // 经度
    				console.log('name', name.value);
    				console.log('address', address.value);
    				console.log('latitude', latitude.value);
    				console.log('longitude', longitude.value);
    			},
    			fail: function(error) {
    				console.error('选择位置失败', error);
    			},
    		});
    	}
    	// 获取当前位置的经纬度
    	uni.getLocation({
    		success: function(res) {
    			var latitude = res.latitude; // 纬度
    			var longitude = res.longitude; // 经度
    			console.log('latitude', latitude);
    			console.log('longitude', longitude);
    			// 在这里可以将经纬度转换为地址信息,后续步骤中会介绍如何实现这一功能。
    		},
    		fail: function(error) {
    			console.error('获取地理位置失败', error);
    		},
    	});
    
    	// 页面加载
    	onBackPress(() => {
    		proxy.$tab.switchTab('/pages/office/index');
    		return true;
    	});
    </script>
    
    <style>
    	.acc {
    		margin-bottom: 20px;
    	}
    </style>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80

    效果

    进去后看到的效果
    在这里插入图片描述
    点击选择位置后
    在这里插入图片描述
    点击导航后
    在这里插入图片描述
    点击右下角的位置后,调用地图功能,会根据手机下载的软件来显示
    如果手机内没有下载软件,会有腾讯地图和谷歌地图选项,点击会跳转到下载界面

    在这里插入图片描述

  • 相关阅读:
    数字云栖,与您共享极致计算与创新进化的科技盛宴
    Go语言Web开发入门指南
    【ES实战】索引mapping的动态设置
    Node 使用 WebStorm 打开文件
    指针的定义、初始化和引用
    Android逆向入门、进阶、工具大全
    LeeCode 1987 DP / Trie
    [计算机网络] 三次握手四次挥手
    Pytest系列(31) - config.cache 使用
    图的应用之最小生成树
  • 原文地址:https://blog.csdn.net/H_jrqn/article/details/133125252