Daha fazla bilgi almak için https://www.mapbox.com/mapbox.js/example/v1.0.0/custom-marker/ ve http://leafletjs.com/examples/custom-icons/ bakmak, ancak görünüşe göre size ihtiyacı uygun olabilir:
- Kendi simge stilini kullanarak. (İLK)
ve/veya GeoJSON dosya simgesi stilini kullanılarak
kodu: Böyle GeoJSON dosya göz varsayarak
var map = L.mapbox.map('map', 'mapbox.streets').setView([40, -74.50], 9);
var layer = L.mapbox.featureLayer().addTo(map);
layer.on('layeradd', function(e) {
var marker = e.layer,feature = marker.feature;
// TWO POSSIBILITIES
// FIRST // your own method to define how icon will be rendered
marker.setIcon(L.mapbox.marker.icon({
'marker-color': '#8834bb',
'marker-size': 'large',
'marker-symbol': 'restaurant'
}));
// SECOND // use json directly to define how icon will be rendered
//marker.setIcon(L.mapbox.marker.icon(feature.properties.icon));
});
layer.setGeoJSON(geoJson);
:
var geoJson = [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-75.00, 40]
},
"properties": {
"title": "Small astronaut",
"icon": {
'marker-color': '#0034bb',
'marker-size': 'large',
'marker-symbol': 'restaurant'
}
}
}, {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-74.00, 40]
},
"properties": {
"title": "Big astronaut",
"icon": {
'marker-color': '#8834bb',
'marker-size': 'large',
'marker-symbol': 'restaurant'
}
}
}];
İşaretçi stilini nerede saklamak istiyorsunuz? GeoJSON tarafında veya doğrudan web sayfası tarafında mı? –
Web sayfası tarafı evet –
"FIRST" yöntemini kullanmayı denediniz mi? –