У меня есть проблема, описанная здесь: символ маркера Mapbox с тремя цифрами
Я пытаюсь визуализировать маркер с тремя или более цифрами.
Пока я нашел это решение:
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);
Обратите внимание, что 'marker-symbol': 'X' поддерживает числа, состоящие не более чем из двух цифр.
Как я могу этого добиться?
marker-symbol
или как круг, как вы создали? - person hopkins-matt   schedule 21.07.2016