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

uniapp接入BMapGL百度地图

下面代码兼容安卓APP和H5

百度地图官网:控制台 | 百度地图开放平台 应用类别选择《浏览器端》

/utils/map.js 需要设置你自己的key

export function myBMapGL1() {
	return new Promise(function(resolve, reject) {
		if (typeof window.initMyBMapGL1 === 'function') {
			resolve(window.initMyBMapGL1)
			return
		}
		window.initMyBMapGL1 = function() {
			resolve(window.initMyBMapGL1)
		}
		var script = document.createElement('script')
		script.type = 'text/javascript'
		script.src = `https://api.map.baidu.com/api?v=1.0&type=webgl&ak=你的key&callback=initMyBMapGL1`
		script.onerror = reject
		document.head.appendChild(script)
	})
}

页面代码

<template>
	<view class="baiduMap">
		<view class="map" v-bind:style="{ height: windowHeight * 2 + 'rpx'}" id="container"></view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				windowHeight: "",
			}
		},
		methods: {

		},
		mounted() {
			uni.getSystemInfo({
				success: res => {
					this.windowHeight = res.windowHeight;
				}
			});
		}
	}
</script>

<script module="allmap" lang="renderjs">
	import {
		myBMapGL1
	} from "@/utils/map.js";
	
	let bmap;
	export default {
		data() {
			return {}
		},
		methods: {
			//获取地图信息
			initMap() {
				myBMapGL1().then((res) => {
					// 创建地图实例
					bmap = new BMapGL.Map("container");
					
					//  设置个性化地图
					// bmap.setMapStyleV2({
					// 	styleId: '',
					// });
					
					// 地图初始化,设置中心点坐标和地图缩放比例
					bmap.centerAndZoom(new BMapGL.Point(113.88308, 22.55329), 5);

					// 开启鼠标滚轮缩放
					bmap.enableScrollWheelZoom(true);

					// 地图缩放事件
					bmap.addEventListener('zoomend', (e) => {
						console.log("zoomend--", e);
					});
					// 地图拖拽事件
					bmap.addEventListener('dragend', (e) => {
						console.log("dragend--", e);
					});
				})
			},
		},
		mounted() {
			this.initMap()
		},
		beforeDestroy() {
			// 离开页面销毁地图
			bmap && bmap.destroy();
			bmap = null
		}
	}
</script>

<style lang="scss" scoped>
</style>

效果图


http://www.kler.cn/a/406731.html

相关文章:

  • (附项目源码)Java开发语言,219 ssm律师事务所业务管理系统的设计与实现,计算机毕设程序开发+文案(LW+PPT)
  • 进程控制(详解)
  • SpringSecurity创建一个简单的自定义表单的认证应用
  • 用python将一个扫描pdf文件改成二值图片组成的pdf文件
  • uniapp开发微信小程序笔记3-全局配置、导航栏配置、tabBar配置
  • 葡萄酒(wine)数据集——LDA、贝叶斯判别分析
  • 使用 cnpm 安装 Electron,才是正确快速的方法
  • 蓝桥杯每日真题 - 第21天
  • Java根据前端返回的字段名进行查询数据的方法
  • 淘宝评论大冒险:Java爬虫的“探险记”
  • react native 安装好apk后无法打开
  • Vue3 el-table 默认选中 传入的数组
  • 深度学习1
  • 数据结构之树与二叉树
  • C语言:空指针详细解读
  • 实用功能,觊觎(Edge)浏览器的内置截(长)图功能
  • 《鸿蒙系统:开启智能新时代的璀璨之星》
  • MySQL中的CAST类型转换函数
  • docker 部署 kvm 图形化管理工具 WebVirtMgr
  • 论文翻译 | RECITATION-AUGMENTED LANGUAGE MODELS
  • Spark 之 Aggregate
  • 深入探索Apache JMeter:HashTree结构解析与应用
  • AWTK 最新动态:支持鸿蒙系统(HarmonyOS Next)
  • 游戏盾 :在线游戏的终极防护屏障
  • 返回流类型接口的错误信息处理
  • java基础概念37:正则表达式2-爬虫