高德地图info窗体中超链接点击跳转在app中的实现

1.高德地图信息窗体有模板类、默认类、自定义类、带导航栏标签类等。详情

2.简单窗体类型  可以直接设置点击监听,当点击后可以触发超链接效果。当然我这里与博客标题不符,不做阐述。

3.楼主使用的是一个叫AdvancedInfoWindow的窗体结构,很好用   官方文档

//高德地图窗口插件2
					infoWindow = new AMap.AdvancedInfoWindow({
						//以下两行是注释掉  导航(从这出发   到这去)  和  去的途径(驾车  公交  步行)
						asOrigin: false,
						asDestination: false,
						//设置信息窗体的点位置偏移量
						offset: new AMap.Pixel(5, -25)
					});

在使用的时候,此处有个坑需要注意下,直接调用后,测试运行会出现AdvancedInfoWindow未定义的情况。

这个时候需要看你导入的个人申请的key位置,在后面追加     &plugin=AMap.AdvancedInfoWindow

<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.6&key=你申请的key&plugin=AMap.AdvancedInfoWindow"></script>

超链接部分和一般的web页面相似,直接在href中写上你的目标地址,我是使用mui开发的app,所以直接写页面的id即可,采用如下形式进行页面的参数传值。

"<a class='ahref' data-dtuid='" + dtuid + "' href='test.html?id=" + id + "' >点击进入操作页面</a>"

目的页面接收方式,由于目标页面的参数与别的页面具有公用性,采取如下形式:

var self = plus.webview.currentWebview();
				dtuid = self.dtuid;
				console.log("前页面传递的dtuid:" + dtuid);
				
				//此处兼容地图页面href跳转过来传递的值的解析(地图中传值过来的数据dtuid 为  undefind)
				if(!dtuid && dtuid == undefined){
					console.log("66666666");
					var loc = location.href;
					console.log("解析到的url信息值:"+loc);
					dtuid = loc.substring(***,***);
				}

完美解决地图窗体这种非DOM格式无法进行mui绑定监听跳转的情况,同样可以进行值的传递,方便其他功能拓展和操作。

猜你喜欢

转载自blog.csdn.net/qq_38322527/article/details/81487238
今日推荐