<!doctype html>
<html lang="zh-CN">
<head>
<!-- 原始地址://webapi.amap.com/ui/1.0/ui/geo/DistrictCluster/examples/plus-point-simplifier.html -->
<base href="//webapi.amap.com/ui/1.0/ui/geo/DistrictCluster/examples/" />
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>区划聚合+海量点展示</title>
<style>
html,
body,
#container {
width: 100%;
height: 100%;
margin: 0px;
}
#loadingTip {
position: absolute;
z-index: 9999;
top: 0;
left: 0;
padding: 3px 10px;
background: red;
color: #fff;
font-size: 14px;
}
</style>
</head>
<body>
<div id="container"></div>
<script type="text/javascript" src='//webapi.amap.com/maps?v=1.4.15&key=您申请的key值'></script>
<!-- UI组件库 1.0 -->
<script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
<script type="text/javascript">
//创建地图
var map = new AMap.Map('container', {
zoom: 4
});
function initPage(DistrictCluster, PointSimplifier, $) {
var pointSimplifierIns = new PointSimplifier({
map: map, //所属的地图实例
autoSetFitView: false, //禁止自动更新地图视野
zIndex: 110,
getPosition: function(item) {
if (!item) {
return null;
}
var parts = item.split(',');
//返回经纬度
return [parseFloat(parts[0]), parseFloat(parts[1])];
},
getHoverTitle: function(dataItem, idx) {
return idx + ': ' + dataItem;
},
renderOptions: {
//点的样式
pointStyle: {
width: 6,
height: 6,
fillStyle:'rgba(153, 0, 153, 0.38)'
},
//鼠标hover时的title信息
hoverTitleStyle: {
position: 'top'
}
}
});
var distCluster = new DistrictCluster({
zIndex: 100,
map: map, //所属的地图实例
getPosition: function(item) {
if (!item) {
return null;
}
var parts = item.split(',');
//返回经纬度
return [parseFloat(parts[0]), parseFloat(parts[1])];
}
});
window.distCluster = distCluster;
function refresh() {
var zoom = map.getZoom();
//获取 pointStyle
var pointStyle = pointSimplifierIns.getRenderOptions().pointStyle;
//根据当前zoom调整点的尺寸
pointStyle.width = pointStyle.height = 2 * Math.pow(1.2, map.getZoom() - 3);
// var zoom = map.getZoom();
// if (zoom < 10) {
// pointSimplifierIns.hide();
// } else {
// pointSimplifierIns.show();
// }
}
map.on('zoomend', function() {
refresh();
});
refresh();
$('<div id="loadingTip">加载数据,请稍候...</div>').appendTo(document.body);
$.get('https://a.amap.com/amap-ui/static/data/10w.txt', function(csv) {
$('#loadingTip').remove();
var data = csv.split('\n');
distCluster.setData(data);
pointSimplifierIns.setData(data);
});
}
//加载相关组件
AMapUI.load(['ui/geo/DistrictCluster', 'ui/misc/PointSimplifier', 'lib/$'], function(DistrictCluster, PointSimplifier, $) {
//启动页面
initPage(DistrictCluster, PointSimplifier, $);
});
</script>
</body>
</html>