Google Maps API v3中如何修改MarkerClusterer标签颜色
问题原因
google.maps.Marker根配置项不存在控制标签文字颜色的color字段,直接在根层级写color: '#fff'属于无效配置,标签模块无法识别该属性,因此文字会默认显示为黑色。
解决方案
不要给label字段直接传字符串类型的聚合数量值,需要将label配置为对象,在对象内部指定文字颜色,也可按需配置字号、字重等样式适配自定义聚合图标。
修正后的实现代码:
new MarkerClusterer({ map: map, markers: markers, renderer: { render: ({markers, _position: position}) => { return new google.maps.Marker({ position: { lat: position.lat(), lng: position.lng(), }, icon: '/assets/images/bitmap/cluster-marker.png', label: { text: String(markers.length), color: '#fff', // 标签文字颜色的正确配置位置 // 可按需添加其他文字样式配置 fontSize: '14px', fontWeight: '600' } }); }, }, });
注意事项
- 如果配置后文字和自定义聚合图标存在位置偏移,可在Marker配置中添加
labelOrigin字段,结合图标尺寸调整文字的坐标位置即可。 - 所有Marker标签相关的样式配置,都需要写在
label对象内部,直接写在Marker根配置层级的样式属性不会被识别生效。
内容的提问来源于stack exchange,提问作者Mr. Sam
相关产品推荐
相关产品推荐

