有人可以告诉我如何更改markerclusterer标记的字体颜色。这是我目前用于标记样式的代码
mcOptions = {styles: [{
height: 27,
url: "image.png",
width: 35
}],
maxZoom: 8
}
var markerCluster = new MarkerClusterer(map, markers, mcOptions);
答案 0 :(得分:11)
A working JSFIDDLE更改群集标记的字体属性。以下是代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MarkerClusterer v3 Simple Example</title>
<style >
body {
margin: 0;
padding: 10px 20px 20px;
font-family: Arial;
font-size: 16px;
}
#map-container {
padding: 6px;
border-width: 1px;
border-style: solid;
border-color: #ccc #ccc #999 #ccc;
-webkit-box-shadow: rgba(64, 64, 64, 0.5) 0 2px 5px;
-moz-box-shadow: rgba(64, 64, 64, 0.5) 0 2px 5px;
box-shadow: rgba(64, 64, 64, 0.1) 0 2px 5px;
width: 600px;
}
#map {
width: 600px;
height: 400px;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script src="https://googlemaps.github.io/js-marker-clusterer/examples/data.json"></script>
<script type="text/javascript" src="https://googlemaps.github.io/js-marker-clusterer/src/markerclusterer.js"></script>
<script>
function initialize() {
var center = new google.maps.LatLng(37.4419, -122.1419);
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var markers = [];
for (var i = 0; i < 100; i++) {
var dataPhoto = data.photos[i];
var latLng = new google.maps.LatLng(dataPhoto.latitude,
dataPhoto.longitude);
var marker = new google.maps.Marker({
position: latLng
});
markers.push(marker);
}
var mcOptions = {
//imagePath: 'https://googlemaps.github.io/js-marker-clusterer/images/m',
styles:[{
url: "https://googlemaps.github.io/js-marker-clusterer/images/m1.png",
width: 53,
height:53,
fontFamily:"comic sans ms",
textSize:15,
textColor:"red",
//color: #00FF00,
}]
};
var markerCluster = new MarkerClusterer(map, markers, mcOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<h3>A simple example of MarkerClusterer (100 markers)</h3>
<div id="map-container"><div id="map"></div></div>
</body>
</html>
以下是更多选项和自定义的API reference link。
答案 1 :(得分:9)
您可以在此类文档中查看ClusterIconStyle类 Marker Clusterer
有一个名为textColor
的选项,用于设置群集图标上显示的标签文本的颜色。
答案 2 :(得分:0)
试试这个
mcOptions = {styles: [{
height: 27,
url: "image.png",
width: 35,
color: #00FF00,
}],
maxZoom: 8
}
答案 3 :(得分:0)
public Bitmap makeIcon(String text, int textColor) {
ensureViewsSetUp();
if (mTextView != null) {
mTextView.setText(text);
mTextView.setTextColor(textColor);
}
return makeIcon();
}
在Google地图上有簇,默认情况下簇背景颜色为蓝色,文本(数字)颜色为白色,
如果您想更改文本颜色,则需要使用IconGenerator.java
答案 4 :(得分:0)
您只能在styles
选项中传递一个元素,就像这样
var options = {
maxZoom: 15,
styles:[{
url: 'https://googlemaps.github.io/js-marker-clusterer/images/m1.png',
width: 53,
height: 53,
textColor: '#fff',
}]
};
var mc = new MarkerClusterer(map, markers, options);
,但是在这种情况下,您将拥有一个适用于所有群集大小(1-10-100)的img。 最好传递5个元素。每个集群大小一个,但是代码行太多(我在地图上有3个集群器)。
所以对我来说,这是
var mc = new MarkerClusterer(map, [], {
imagePath: 'https://googlemaps.github.io/js-marker-clusterer/images/m',
maxZoom: 15
});
mc.setStyles(mc.getStyles().map(function (style) {
style.textColor = '#fff';
return style;
}));
mc.addMarkers(markers)