百度地圖(32)-GL 聚合


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM