IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> uniapp:微信小程序地图功能 -> 正文阅读

[移动开发]uniapp:微信小程序地图功能

uni-app 中使用微信小程序第三方 SDK 及资源汇总

1、高德地图>控制台>申请小程序key

在这里插入图片描述

2、下载它的微信小程序版 SDK

微信小程序SDK下载

3、新建一个 uni-app 项目,新建一个 common 目录,然后将前面下载得到的 amap-wx.js 的文件复制进去。在 index.vue 中,引入高德小程序 SDK。

import amap from '../../common/amap-wx.js';  
export default {  
}

4、在 onLoad 中初始化一个高德小程序 SDK 的实例对象。

import amap from '../../common/amap-wx.js';  
export default {  
    data() {  
        return {  
            amapPlugin: null,  
            key: '这里填写高德开放平台上申请的key'  
        }  
    },  
    onLoad() {  
        this.amapPlugin = new amap.AMapWX({  
            key: this.key  
        });  
    }  
}

5、利用高德小程序 SDK,获取当前位置地址信息,以及当前位置的天气情况。

import amap from '../../common/amap-wx.js';  
export default {  
    data() {  
        return {  
            amapPlugin: null,  
            key: '高德key',  
        }  
    },  
    onLoad() {  
        this.amapPlugin = new amap.AMapWX({  
            key: this.key  
        });  
    },  
    methods: {  
        getRegeo() {  
            uni.showLoading({  
                title: '获取信息中'  
            });  
            this.amapPlugin.getRegeo({  
                success: (data) => {  
                    console.log(data)  
                    uni.hideLoading();  
                }  
            });  
        }  
    }  
}

完整代码

<template>
	<view class="content">
		<map 
		style="width: 750rpx;height: 750rpx;" 
		:longitude="longitude" 
		:latitude="latitude" 
		:markers="markers"
		:include-points="includePoints" 
		:show-compass="true" 
		:show-location="true">
		</map>
	</view>
</template>

<script>
	import amap from './amap-wx.js';
	export default {
		data() {
			return {
				amapPlugin: null,
				key: '把你申请的key填入进来',
				longitude: '', //经度
				latitude: '', //纬度
				markers: [], //标记点
				includePoints: [], //缩放视野以包含所有给定的坐标点
			}
		},
		onLoad() {
			// #ifdef MP-WEIXIN
			this.amapPlugin = new amap.AMapWX({
				key: this.key
			});
			this.map1();// map1:使用高德的API进行定位
						// map2:uni.getLocation定位,在小程序内拿不到address数据。数据对比看下图
			// #endif
		},
		methods: {
			map1() {
				let _this = this;
				uni.showLoading({
					title: '获取信息中'
				});
				this.amapPlugin.getRegeo({
					success: (res) => {
						console.log('map1');
						console.log(res)
						_this.latitude = res[0].latitude;
						_this.longitude = res[0].longitude;
						let market = {
							id: 1,
							latitude: _this.latitude,
							longitude: _this.longitude,
							iconPath: '../../static/marketIcon.png',
							width: 24,
							height: 24,
							title: res[0].name,
							callout: {
								content: res[0].name,
								color: '#ffffff',
								fontSize: '14',
								display: 'ALWAYS',
								bgColor: '#FF6F1E',
								padding: '10',
								textAlign: 'center',
								borderRadius: '15'
							}
						}
						_this.markers[0] = market;
						_this.address1 = market;
						_this.markers = [..._this.markers];
						_this.includePoints[0] = market;
					}
				});
				uni.hideLoading();
			},
			map2() {
				let _this = this;
				uni.getLocation({
					type: 'gcj02',
					geocode: true,
					success: function(res) {
						console.log('map2')
						console.log(res);
						_this.latitude = res.latitude;
						_this.longitude = res.longitude;
						let market = {
							id: 1,
							latitude: _this.latitude,
							longitude: _this.longitude,
							iconPath: '../../static/marketIcon.png',
							width: 24,
							height: 24,
							title: '测试名称',
							callout: {
								content: '测试名称',
								color: '#ffffff',
								fontSize: '14',
								display: 'ALWAYS',
								bgColor: '#FF6F1E',
								padding: '10',
								textAlign: 'center',
								borderRadius: '15'
							}
						}
						_this.markers[0] = market;
						_this.address1 = market;
						_this.markers = [..._this.markers];
						_this.includePoints[0] = market;
					},
					fail: function(err) {
						console.log(err)
					},
				});
			}

		}
	}
</script>

<style>
</style>

在这里插入图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:17:52  更:2021-09-26 10:18:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:56:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码