我遇到了问题:Mapbox Marker Symbol with Three Digits
我正在尝试将标记显示为三个或更多位。
到目前为止,我找到了这个解决方案:
JavaScript的:
L.NumberedDivIcon = L.Icon.extend({
options: {
number: ''
},
createIcon: function () {
var div = document.createElement('div');
var numdiv = document.createElement('div');
numdiv.setAttribute ( "class", "number" );
numdiv.innerHTML = this.options['number'] || '';
div.appendChild ( numdiv );
this._setIconStyles(div, 'icon');
return div;
}
});
var marker = new L.Marker(new L.LatLng(40, -78), {
icon: new L.NumberedDivIcon({number: '123'})
});
marker.addTo(map);
CSS:
.leaflet-marker-icon .number{
position: relative;
font-size: 14px;
text-align: center;
background-color: #3399ff;
color: white;
border-radius: 100%;
padding: 10px;
}
这样我就可以创建这样的标记:
我想使用GeoJSON格式创建一个三位数的标记。例如:
L.mapbox.markerLayer({
type: 'Feature',
geometry: {
type: 'Point',
coordinates: [-99, 36.9]
},
properties: {
title: 'A Single Marker',
description: 'Just one of me',
// one can customize markers by adding simplestyle properties
// http://mapbox.com/developers/simplestyle/
'marker-size': 'large',
'marker-color': '#775556',
'marker-symbol': '11'
}
}).addTo(map);
请注意' 标记符号':' X'支持最多两位数的数字。
我怎样才能做到这一点?