1***@163.com
1***@163.com
  • 发布:2024-01-11 09:52
  • 更新:2024-01-11 09:52
  • 阅读:300

【报Bug】地图自定义聚合样式不生效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS 14.1.1 (23B81)

HBuilderX类型: 正式

HBuilderX版本号: 3.98

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: nova 7 5G

页面类型: nvue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

""" initMap() {
let that = this
this.map.mapObj = uni.createMapContext("map", this);
//仅调用初始化,才会触发 on.("markerClusterCreate", (e) => {})
that.map.mapObj.initMarkerCluster({
enableDefaultStyle: false,
zoomOnClick: true,
gridSize: 10,
complete(res) {
console.log('initMarkerCluster', res)
}
});
console.log("test")
that.map.mapObj.on("markerClusterCreate", (res) => {
let clusterMarkers = []
const clusters = res.clusters // 新产生的聚合簇
clusters.forEach((cluster, index) => {
const {
center, // 聚合点的经纬度数组
clusterId, // 聚合簇id
markerIds // 已经聚合了的标记点id数组
} = cluster
var iconPath = '/static/images/map/blue.png'
if (that.markerHasRed(markerIds)) {
iconPath = '/static/images/map/red.png'
} else if (that.markerHasYellow(markerIds)) {
iconPath = '/static/images/map/yellow-2.png'
}
console.log(center)
console.log(markerIds)
console.log(iconPath)
let clusterObj = {
clusterId, //必须
...center,
width: 30,
height: 30,
iconPath: iconPath,
label: { // 定制聚合簇样式
content: markerIds.length + '',
// aria-label: markerIds.length + '',
fontSize: 11,
width: 40,
height: 20,
color: "#000000",
bgColor: '#ffffff',
borderWidth: 1,
borderColor: "#aaa",
borderRadius: 5,
textAlign: 'center',
anchorX: -21,
anchorY: -50,
// padding:10

                        }  
                    }  
                    clusterMarkers.push(clusterObj)  
                })  
                // 添加聚合簇  
                that.map.mapObj.addMarkers({  
                    markers: clusterMarkers,  
                    clear: false, //是否先清空地图上所有的marker  
                    complete(res) {  
                      console.log('addMarkers', res)  
                    }  
                })  
            });  
            that.map.mapObj.on('markerClusterClick', (res) => {  
                console.log("markerClusterClick", res);  
            })  
        }, """

操作步骤:

运行代码

预期结果:

能正常渲染自定义样式

实际结果:

有些marker不能显示自定义样式

bug描述:

地图自定义聚合样式不生效

2024-01-11 09:52 负责人:无 分享
已邀请:

要回复问题请先登录注册