1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > android德地图点聚合 点聚合-点标记-示例中心-JS API 示例 | 高德地图API

android德地图点聚合 点聚合-点标记-示例中心-JS API 示例 | 高德地图API

时间:2022-11-18 06:56:56

相关推荐

android德地图点聚合 点聚合-点标记-示例中心-JS API 示例 | 高德地图API

点聚合

html, body, #container {

height: 100%;

width: 100%;

}

.input-card {

width: 25rem;

}

.input-card .btn {

width: 7rem;

margin-right: .7rem;

}

.input-card .btn:last-child {

margin-right: 0;

}

聚合点效果切换

var cluster, markers = [];

var map = new AMap.Map("container", {

resizeEnable: true,

center: [105, 34],

zoom: 4

});

for (var i = 0; i < points.length; i += 1) {

markers.push(new AMap.Marker({

position: points[i]['lnglat'],

content: '

offset: new AMap.Pixel(-15, -15)

}))

}

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)

};

addCluster(2);

function addCluster(tag) {

if (cluster) {

cluster.setMap(null);

}

if (tag == 2) {//完全自定义

cluster = new AMap.MarkerClusterer(map, markers, {

gridSize: 80,

renderClusterMarker: _renderClusterMarker

});

} else if (tag == 1) {//自定义图标

var sts = [{

url: "/jsapi_demos/static/images/blue.png",

size: new AMap.Size(32, 32),

offset: new AMap.Pixel(-16, -16)

}, {

url: "/jsapi_demos/static/images/green.png",

size: new AMap.Size(32, 32),

offset: new AMap.Pixel(-16, -16)

}, {

url: "/jsapi_demos/static/images/orange.png",

size: new AMap.Size(36, 36),

offset: new AMap.Pixel(-18, -18)

}, {

url: "/jsapi_demos/static/images/red.png",

size: new AMap.Size(48, 48),

offset: new AMap.Pixel(-24, -24)

}, {

url: "/jsapi_demos/static/images/darkRed.png",

size: new AMap.Size(48, 48),

offset: new AMap.Pixel(-24, -24)

}];

cluster = new AMap.MarkerClusterer(map, markers, {

styles: sts,

gridSize: 80

});

} else {//默认样式

cluster = new AMap.MarkerClusterer(map, markers, {gridSize: 80});

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。