javascript - font - Leaflet Awesome-Markers(Agregar números)
leaflet marker icon font awesome (3)
En lugar de utilizar el complemento Awesome-Markers, puedes seguir este artículo sobre cómo crear marcadores numerados en el folleto:
http://charliecroom.com/index.php/web/numbered-markers-in-leaflet
El Gist asociado está aquí:
https://gist.github.com/comp615/2288108
Un ejemplo simple de cómo esto funcionaría es el siguiente:
// The text could also be letters instead of numbers if that''s more appropriate
var marker = new L.Marker(new L.LatLng(0, 0), {
icon: new L.NumberedDivIcon({number: ''1''})
});
Estoy usando el plugin Leaflet.Awesome-Markers con LeafletJS .
Lo he implementado correctamente, sin embargo ahora me gustaría poder usar números del 0 al 9 para representar marcadores.
Aquí hay una implementación de JS Fiddle para mostrar cómo se comporta el complemento.
http://jsfiddle.net/fulvio/VPzu4/200/
El complemento permite el uso de íconos increíbles de fuentes e íconos de glifos (ambos por supuesto, no ofrecen ningún número 0 - 9 como íconos. Argh !)
- http://getbootstrap.com/components/#glyphicons
- http://fortawesome.github.io/Font-Awesome/cheatsheet/
La documentación menciona la capacidad de utilizar extraClasses
y me preguntaba si alguien podría indicarme la dirección correcta para aprovecharla para mostrar números en lugar de iconos o si simplemente hay otra forma de lograrlo.
Gracias de antemano por tu ayuda.
ACTUALIZAR:
Gracias por el comentario @Can .
El autor de marcadores increíbles obtuvo otro árbol en el que agregó exactamente lo que estás buscando : marcadores asombrosos con números / letras. Asegúrate de obtener el JS no minificado.
He probado el plugin Numbered Markers, pero este ícono no es tan bonito como otros Awesome Markers, y hace que el estilo de diseño de la página sea inconsistente, así que hice pequeños cambios en el complemento Awesome-Markers para que sea compatible con los números. Es muy simple.
este es el efecto del plugin Marcadores numerados, si lo desea, omita mi respuesta.
cambie la línea 2 de leaflet.awesome-markers.js, agregue html: ""
L.AwesomeMarkers.Icon = L.Icon.extend({ options: { iconSize: [35, 45], iconAnchor: [17, 42], popupAnchor: [1, -32], shadowAnchor: [10, 12], shadowSize: [36, 16], className: ''awesome-marker'', prefix: ''glyphicon'', spinClass: ''fa-spin'', extraClasses: '''', icon: ''home'', markerColor: ''blue'', iconColor: ''white'', html : "" },
cambiar la línea 80 de leaflet.awesome-markers.js,
return "<i " + iconColorStyle + "class=''" + options.extraClasses + " " + options.prefix + " " + iconClass + " " + iconSpinClass + " " + iconColorClass + "''>" + options.html + "</i>";
al crear ícono, llame como antes
var jobMarkerIcon = L.AwesomeMarkers.icon({ icon: '''', markerColor: ''darkblue'', prefix: ''fa'', html: (i+1) });
comentar la línea 45 y 47.
el resultado es como la captura de pantalla siguiente.
el código de cambios dif se muestra a continuación.
Otra estrategia es utilizar el complemento Leaflet.ExtraMarkers
Codifique el marcador numérico con estas opciones:
var numMarker = L.ExtraMarkers.icon({
icon: ''fa-number'',
number: 12,
markerColor: ''blue''
});
L.marker([41.77, -72.69], {icon: numMarker}).addTo(map);