js添加多marker 高德地图_高德地图点聚合--Marker多点聚合及多个marker点击事件
本篇文章主要是高德地图的多点聚合,及多个marker点击事件
以下为简单的模拟数据
soogif (1).gif
image.png
具体代码如下
点聚合
html,
body,
#container {
height: 100%;
width: 100%;
}
var cluster, markers = [];
// 地图初始化
var map = new AMap.Map("container", {
resizeEnable: true,
center: [105, 34],
zoom: 4
});
// 模拟数据
let list = [{
lnt: 113.951955,
lat: 22.530825,
content: "aaa",
url: "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2126240618,1874470849&fm=26&gp=0.jpg"
}, {
lnt: 116.397428,
lat: 39.90923,
content: "bbb",
url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524499220&di=061f5404ccf4b56ca5109c6a74cad7e8&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F18%2F01%2F15%2Fecc1be26af0ccb3aab8a64cbc1d7d5b9.jpg"
}, {
lnt: 117.000923,
lat: 36.675807,
content: "ccc",
url: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3897032442,810482418&fm=26&gp=0.jpg"
}, {
lnt: 112.89114340293699,
lat: 38.06208615376387,
content: "ddd",
url: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3897032442,810482418&fm=26&gp=0.jpg"
}, {
lnt: 116.303843,
lat: 39.983412,
content: "eee",
url: "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1794114107,2569649938&fm=26&gp=0.jpg"
}, {
lnt: 108.94444,
lat: 34.14248,
content: "fff",
url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524653591&di=fce2171454e6d4d44545e51b41bb4224&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Foriginal_pic%2F19%2F03%2F18%2Fbf2928abcd5f96beab12f7a8611614c5.jpg"
}, {
lnt: 121.472644,
lat: 31.231706,
content: "ggg",
url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524499220&di=061f5404ccf4b56ca5109c6a74cad7e8&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F18%2F01%2F15%2Fecc1be26af0ccb3aab8a64cbc1d7d5b9.jpg"
}, //上海
{
lnt: 121.506377,
lat: 31.245105,
content: "hhh",
url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524653591&di=fce2171454e6d4d44545e51b41bb4224&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Foriginal_pic%2F19%2F03%2F18%2Fbf2928abcd5f96beab12f7a8611614c5.jpg"
}, {
lnt: 121.392735,
lat: 31.083714,
content: "iii",
url: " https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1794114107,2569649938&fm=26&gp=0.jpg",
},
{
lnt: 107.0138,
lat: 33.0436,
content: "jjjj",
url: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3897032442,810482418&fm=26&gp=0.jpg",
}, //汉中
{
lnt: 108.95,
lat: 34.27,
content: "kkkk",
url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524499220&di=061f5404ccf4b56ca5109c6a74cad7e8&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F18%2F01%2F15%2Fecc1be26af0ccb3aab8a64cbc1d7d5b9.jpg"
}, {
lnt: 109.11,
lat: 35.09,
content: "lll",
url: "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2126240618,1874470849&fm=26&gp=0.jpg",
}, {
lnt: 110.51,
lat: 38.83,
content: "mmm",
url: " https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1794114107,2569649938&fm=26&gp=0.jpg"
}, {
lnt: 109.77,
lat: 38.3,
content: "nnnn",
url: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3897032442,810482418&fm=26&gp=0.jpg",
}, {
lnt: 106.16,
lat: 33.34,
content: "oooo",
url: "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2126240618,1874470849&fm=26&gp=0.jpg"
},
]
list.map((data) => {
// 海量生成marker点
var marker = new AMap.Marker({
position: new AMap.LngLat(data.lnt, data.lat),
title: data.title,
content: `
`,
offset: new AMap.Pixel(-15, -15)
})
var a = "https://www.jianshu.com/users/27c303b4ef55/followers"
content = `
详情
`
content.replace(/undefined/g, "");
// 窗体信息
let infoWindow = new AMap.InfoWindow({
content: content, //使用默认信息窗体框样式,显示信息内容
offset: new AMap.Pixel(0, -15),
});
//监听marker的点击事件
AMap.event.addListener(marker, "click", function(e) {
infoWindow.open(
map,
// 窗口信息的位置
marker.getPosition(data.lnt, data.lat)
);
})
markers.push(marker)
//添加监听事件,当前缩放级别
AMap.event.addListener(map, 'zoomend', function() {
var zoom = map.getZoom();
// 关闭信息窗体
map.clearInfoWindow(infoWindow);
});
});
//使用renderClusterMarker属性实现聚合点的完全自定义绘制
var count = markers.length;
var _renderClusterMarker = function(context) {
var factor = Math.pow(context.count / count, 1 / 18);
var div = document.createElement('div');
var Hue = 180 - factor * 180;
var bgColor = 'hsla(' + Hue + ',100%,50%,0.7)';
var fontColor = 'hsla(' + Hue + ',100%,20%,1)';
var borderColor = 'hsla(' + Hue + ',100%,40%,1)';
var shadowColor = 'hsla(' + Hue + ',100%,50%,1)';
div.style.backgroundColor = bgColor;
var size = Math.round(30 + Math.pow(context.count / count, 1 / 5) * 20);
div.style.width = div.style.height = size + 'px';
div.style.border = 'solid 1px ' + borderColor;
div.style.borderRadius = size / 2 + 'px';
div.style.boxShadow = '0 0 1px ' + shadowColor;
div.innerHTML = context.count;
div.style.lineHeight = size + 'px';
div.style.color = fontColor;
div.style.fontSize = '14px';
div.style.textAlign = 'center';
context.marker.setOffset(new AMap.Pixel(-size / 2, -size / 2));
context.marker.setContent(div)
};
if (cluster) {
cluster.setMap(null);
}
// 点聚合样式
cluster = new AMap.MarkerClusterer(map, markers, {
gridSize: 80
});
js添加多marker 高德地图_高德地图点聚合--Marker多点聚合及多个marker点击事件相关推荐
- js如何同时打开多个信息窗口 高德地图_高德地图-展示多个信息窗口
1.问题背景 高德地图,设置小图标,并点击图标显示信息 2.实现源码 高德地图展示多个信息窗口 //初始化地图对象,加载地图 var map = new AMap.Map("containe ...
- 地图上分成一块一块区域 高德地图_高德导航定位错误致拥堵,景区发文呼吁游客别用高德地图,回应来了...
10月4日下午,青城山都江堰景区与高德地图"怼"上了.该景区官方公众号"青城山都江堰"发文称,近来,青城山都江堰景区频繁接到游客反映,使用"高德地图& ...
- react 逆地理 高德地图_高德官宣!海外地图服务年内上线:首批覆盖亚洲多个国家...
1月8日消息,在2020CES期间,高德与HERE Technologies(以下简称"HERE地图")共同宣布,双方将基于海外地图及动态信息服务展开合作. HERE地图将为高德地 ...
- react 谷歌地图_谷歌地图与React
react 谷歌地图 情况(The Situation) Your working on a React-based application and you want to implement Goo ...
- 百度离线地图_这个地图APP,专注于地图软件该做的事!
Bmap Bmap,简单的双地图应用.可任意切换/高德地图数据源,致力满足日常生活的出行需求.具有步行.公交.骑行.驾驶等出行方案,查看街景. 新版特性 1.升级百度地图sdk6.0.0 2.升级高德 ...
- 高精地图_语义地图_众包地图相关论文笔记
1.20220618_LT-mapper: A Modular Framework for LiDAR-based Lifelong Mapping 2021 3d-Lidar构建long-term地 ...
- js如何同时打开多个信息窗口 高德地图_高德地图显示单个窗体和显示多个窗体的方法...
高德地图是我经常使用过的组件,今天想跟大家讨论下信息窗体的创建与显示的方法,这种就是属于自定的内容了,需要到高德开发者中心查看一些相应的文档 image.png LatLng latLng = new ...
- marker 头像 高德地图_高德地图头像怎么更换 高德地图更换头像图文教程
相信绝大部分人都知道微信头像以及QQ头像怎么更换,而设置头像也是很多人喜欢做的一件事情.而对于经常使用高德地图的用户来说,头像该怎么设置呢?对于这群用户,下面百事网小编为大家带来详细的高德地图更换头像 ...
- marker 头像 高德地图_手机地图导航软件高德地图1.如何下载高德地图
大家在使用手机地图的时候必须开启GPS定位服务,如不开启会定位失败 点击我查看如何开启手机GPS定位服务 如果会开启GPS定位服务的可直接点击观看以下文章 高德地图是国内一流的免费地图导航产品,也是基 ...
最新文章
- Codevs 1005 生日礼物
- Python PIL反色混合
- Oracle 索引扫描的五种类型
- java 应用程序无法运行_关于解决浏览器无法运行小应用程序问题
- python学习笔记 --- 随机数进阶
- vs2013链接Mysql时出现 (由于找不到libmysql.dll,无法继续执行代码。重新安装程序可能会解决此问题)
- python考试名词解释_python公开课|python专有名词居然有这么多,python专有名词解释已做好...
- libpcap 编程入门资源
- 内蒙古师范大学计算机与科学,2021年内蒙古师范大学计算机科学与技术(077500)硕士研究生招生信息_考研招生计划和招生人数 - 学途吧...
- 传递给系统调用的数据区域太小。 (异常来自 HRESULT:0x8007007A)
- java scjp 试题_JAVA认证:78道SCJP考试试题精解
- 【UnityShader】使用Cubemap/Matcap制作玻璃
- 【收集】网络上各路大侠放出的面试题、求职技巧
- 智能暖风机——8.云端控制
- PySpark处理数据并图表分析
- 计算机伦理学理论分析三大思想,试论伦理学的三种理论形态——基于理论形态学的考察...
- 【WiFi】hostapd 配置80M频宽某些信道启动失败问题分析及解决
- Spring JPA 随手记
- java中栈的两种实现
- Android USB开发小结:host模式与accessory模式