2016-12-17 2 views
0

как заменить круг со значком в L.circleMarkerL.circleMarker листовка

var style_station = { 
    radius: 12, 
    stroke:false, 
    weight: 1, 
    opacity: 1, 
    fillOpacity: 1, 
    // color: '#00ABDC', 
}; 

$ .getJSON ("URL", функция (stationexits) { exitlayer = L.geoJson (stationexits, { onEachFeature: onEachStation, pointToLayer: функция (функция, LatLng) { возвращение L.circleMarker (LatLng, style_station); } });

ответ

1

Вам придется возвращать L.Marker

Только тогда вы сможете установить свой собственный значок.

0

Я не хочу использовать L.Marker в L.circleMarker имеют свои преимущества по сравнению с L.marker

я сделал ниже, и его работы для меня

1) Создано образец SVG как

<svg> 
    <defs> 
    <pattern id="bustop_icon" x="0" y="0" width="18" height="18"> 
    <image xlink:href="img/images/bus-icon.png" x="3" y="5" width="18" height="20" /> 
    </pattern> 
    </defs> 
</svg> 

2) установить Classname в стиле

var style_busstops = { 
     radius: 12, 
     stroke:false, 
     weight: 1, 
     opacity: 1, 
     fillOpacity: 1, 
     className : 'bus_stops' 
    }; 

L.geoJson(busstops, { 
      pointToLayer: function (feature, latlng) { 
      return L.circleMarker(latlng, style_busstops); 
     } 
}); 

3) Добавить 'заливка' CSS в классе bus_stops

.bus_stops { 
    fill: url(#bustop_icon); 
} 
Смежные вопросы