大量坐标点如何在地图上合理的展示,这是个一直困扰我的问题。很多方法和组件都试过,效果并不理想。
地图级别高时,人们往往想看总体效果,地图放大到城市街道级别,又想看详细坐标点。
我按照这个思路实现了一个demo,大致思路是地图级别高时显示热力图,地图级别低时显示坐标点。这样既能规避全局总览时点太多卡慢看不清的问题,也能完整显示所有坐标点。
当然手动实现的并不完美,百度地图api对zoom的属性支持太差,我现在判断条件是拿的getZoom()>7,实际效果是取的上一次的地图级别,不是当前地图级别。要完美实现这样的功能,除非组件有这样的完整功能能直接用,可以期待一下mapv,echart这些。
上效果,开局热力图,滚动鼠标滚轮放大,然后显示成海量点。注意一定是滚轮放大,我只加了滚轮监听,双击放大无效。
本来海量点是可以加一些反显的,但项目决定改用mapd了...嗯baidu地图也就弃了,所以反显我就没加了。
主页面,head引一下百度api
<script>
jQuery(document).ready(function() {
getMap();
getHeatmap();
});
</script>
</head>
<body>
<div id="container"></div>
</body>
PlusM