高德、百度第三方地图异步加载API

使用第三方地图时,官方文档介绍提供了2种引入方式:

        1、在html文件中直接script标签引入

        2、异步加载

但是在开发中会发现,其实需要使用到地图功能的实际工作场景仅仅是个别的几个页面,所以完全没有必要在index.html文件中全局引入地图资源,只需要在需要使用的页面引入即可。

一、高德地图(异步加载)

function LoadGDMapScript() {
		//设置安全密钥
		//根据官方文档提示在2021年12月02日以后申请的 key 需要配合你的安全密钥一起使用
		window._AMapSecurityConfig = {
			securityJsCode: "申请的安全密钥",
		};
		
		// 初始化地图
		return new Promise((resolve, reject) => {
			
			//异步加载回调函数
			window.initialize = function() {
				console.log('高德地图脚本初始化成功....');
				//可以在这边初始化创建地图实例,也可以在LoadGDMapScript的异步回调中初始化创建
				// ...
				resolve()
			}
			// 插入script脚本
			var jsapi = document.createElement("script");
			jsapi.charset = "utf-8";
			jsapi.src = "https://webapi.amap.com/maps?v=2.0&key=申请的key值&callback=initialize";
			document.head.appendChild(jsapi);
		})
 }

二、百度地图(异步加载)

function LoadBaiduMapScript() {
		return new Promise((resolve, reject) => {
			// 异步加载回调处理
			window.initCallback = function () {
				console.log("脚本初始化成功...");
                // 创建Map实例
				resolve();
			};
			// 插入script脚本
			let scriptNode = document.createElement("script");
			scriptNode.type = "text/javascript"
			scriptNode.src = "https://api.map.baidu.com/api?v=2.0&ak=申请的安全密钥&s=1&callback=initCallback";
			document.body.appendChild(scriptNode);
		});
 }

以上2中均是本人已在实际项目中应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值