1. 三維GL庫的聚合樣式竟然比二維庫的樣式要丑那么一點點,實在有點不可思議。
2. 聚合調用的 mapvgl 中的clusterLayer,這完全是另外一個庫了,以后會專題講。
https://mapv.baidu.com/gl/docs/index.html
3. 代碼參考
1 var view = new mapvgl.View({ 2 map: map 3 }); 4 5 var clusterLayer = new mapvgl.ClusterLayer({ 6 minSize: 30, // 聚合點顯示的最小直徑 7 maxSize: 50, // 聚合點顯示的最大直徑 8 clusterRadius: 150, // 聚合范圍半徑 9 gradient: {0: 'blue', 0.5: 'green', 1.0: 'red'}, // 聚合點顏色梯度 10 maxZoom: 15, // 聚合的最大級別,當地圖放大級別高於此值將不再聚合 11 minZoom: 5, // 聚合的最小級別,當地圖放大級別低於此值將不再聚合 12 // 是否顯示文字 13 showText: true, 14 // 開始聚合的最少點數,點數多於此值才會被聚合 15 minPoints: 5, 16 // 設置文字樣式 17 textOptions: { 18 fontSize: 12, 19 color: 'white', 20 // 格式化數字顯示 21 format: function (count) { 22 return count >= 10000 ? Math.round(count / 1000) + 'k' 23 : count >= 1000 ? Math.round(count / 100) / 10 + 'k' : count; 24 } 25 }, 26 // 設置非聚合的點的icon 27 // iconOptions: { 28 // width: 100 / 4, 29 // height: 153 / 4, 30 // icon: 'images/marker.png', 31 // }, 32 enablePicked: true, 33 onClick(e) { 34 if (e.dataItem) { 35 // 可通過dataItem下面的children屬性拿到被聚合的所有點 36 console.log(e.dataItem); 37 } 38 } 39 }); 40 41 view.addLayer(clusterLayer); 42 clusterLayer.setData(data);
4. 頁面顯示

5. 源碼地址
https://github.com/WhatGIS/bdMap
