直接上代码(描点部分)
this.tableData是获取到的锚点数据
position是每个锚点的坐标
marker.on('click', function (e) {})点击事件
let map = new AMap.Map("container", {
zoom: this.zoom,
pitch: 50,
viewMode: this.viewMode, // 开启3D视图,默认为关闭
});
// 构造点标记
map.clearMap();
this.markers = [];
this.tableData.forEach((element) => {
var marker = new AMap.Marker({
icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
position: element.pos,//描点坐标
anchor: "bottom-center",//偏移位
});
map.add(marker);//添加
marker.setLabel({
direction: "top",
offset: new AMap.Pixel(0, -10), // 设置文本标注偏移量
content: element.name, // 设置文本标注内容
});
this.markers.push(marker);
//本来想着function写外面调用,但是描点坐标内容获取不到,有大神会留言
marker.on('click', function (e) {//点击事件
console.log(element);
console.log(e);
var info = [];
info.push(`<p class='input-item'>电话 : 010-84107000 邮编 : 100102</p><p class='input-item'>地址 :北京市朝阳区望京阜荣街10号首开广场4层</p></div></div>`);
let infoWindow = new AMap.InfoWindow({
offset: new window.AMap.Pixel(0, -30), //信息窗体显示位置偏移量
retainWhenClose: true, //信息窗体关闭时,是否将其Dom元素从页面中移除
closeWhenClickMap: true, // 点击地图是否关闭窗体
content: info.join("") //使用默认信息窗体框样式,显示信息内容
});
infoWindow.open(map, e.target.getPosition());//主要这段
});
});
|