百度地图api 点击标注后跳转页面

本文介绍了一种方法,通过JavaScript和百度地图API来实现在地图上点击标注后打开相应链接的新页面。首先获取所有点的经纬度和跳转链接,然后初始化地图并添加标注。每个标注都添加了点击事件监听器,当点击标注时,会根据点的href属性在新窗口中打开目标页面。
摘要由CSDN通过智能技术生成

百度地图api 点击标注跳转页面

初始化地图

window.onload = function(){
	//得到所有点,包括点的id、经纬度、跳转地址链接
	//jd、 wd、href
	getPoints();
	//初始化地图
    initMap();
}
var dList = new Array();

function getPoints(){
	jQuery.ajax({
		  type: "POST",
	      dataType: "json",
	      async:false,
	      url: "/getAll.html",
	      data:{},
	      success: function(data){
			  dList= data;
	      }
	})
}
function initMap(){
	//遍历点集合dList,向地图中添加标注
	for(var i=0;i<dList.length;i++){
			var oned = dList[i];
			var point = new BMap.Point(oned .jd,oned .wd);
			var marker = new BMap.Marker(point);
			//添加点击事件
			addClickHandler(marker,oned );
			// 将标注添加到地图中	
			map.addOverlay(marker);
		}
}
//点击后打开新页面,地址为这个点的地址
function addClickHandler(marker,point){
	marker.addEventListener("click",function(){
		window.open(encodeURI(point.href),'_blank');
	});
}
百度地图API提供了一个便捷的功能,允许你在地图上添加点击事件监听到标注(Marker),当用户点击标注时,会弹出一个自定义的`el-dialog`组件作为覆盖物。这个过程通常包括以下几个步骤: 1. **初始化地图和标注**:首先,你需要通过官方文档引入百度地图JavaScript API,并创建一个地图实例,同时设置好地图的中心点、缩放级别以及所需的标注。 ```javascript import BMap from '@baidu/map/api'; // 创建地图实例 const map = new BMap.Map('container-id'); map.centerAndZoom(new BMap.Point(经度, 纬度), 15); ``` 2. **添加标注并绑定事件**:在地图上添加标注时,可以给它添加一个点击事件处理器,打开`el-dialog`。 ```javascript const marker = new BMap.Marker(point); // point是你想标记的位置 marker.addEventListener('click', function(e) { const dialog = createDialog(); // 创建并显示el-dialog }); ``` 3. **创建和管理el-dialog**:`createDialog`函数通常在需要时动态创建`el-dialog`,将其内容填充好,然后显示出来。 ```javascript function createDialog() { const dialog = document.createElement('div'); // 创建dialog元素 const content = '<el-dialog></el-dialog>'; // 这里填写el-dialog的HTML结构和内容 dialog.innerHTML = content; return new Vue({ el: dialog, // ...配置dialog的属性和方法 }).$mount(); } ``` 4. **将dialog添加到DOM**:你可以选择将`el-dialog`直接插入到地图容器的DOM中,或者使用其他方式(比如定位绝对位置)使其在地图上可见。 注意:确保你已经正确地导入了Element UI库,并且对Vue.js有基本的理解,因为`el-dialog`是基于Vue构建的组件。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘宏望

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值