GeoJSON标记中的自定义标记符号(MAPBOX)

时间:2016-06-20 14:00:41

标签: javascript mapbox geojson

我遇到了问题: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;
}

这样我就可以创建这样的标记:

marker with leaflet

我想使用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'支持最多两位数的数字。

我怎样才能做到这一点?

JSFIDDLE

0 个答案:

没有答案