Así que tengo una capa geojson en el folleto, y puedo agregar objetos geojson a esta capa para mostrar en el mapa resultante.cómo agregar texto para mostrar en el mapa a un objeto geojson en el folleto
Ahora me gustaría agregar una etiqueta de texto para mostrar cerca del objeto.
Este ejemplo muestra el uso de un objeto personalizado L.control()
para mostrar información adicional en el mapa. Lo cual parece cercano a lo que quiero hacer.
Dado este ejemplo, me gustaría agregar etiquetas de texto iniciales del estado (es decir, "TX", "FL") situadas sobre cada estado. ¿Se puede usar L.control()
para hacer esto, o hay otra manera?
http://leaflet.cloudmade.com/examples/choropleth.html
var info = L.control();
info.onAdd = function (map) {
this._div = L.DomUtil.create('div', 'info'); // create a div with a class "info"
this.update();
return this._div;
};
// method that we will use to update the control based on feature properties passed
info.update = function (props) {
this._div.innerHTML = '<h4>US Population Density</h4>' + (props ?
'<b>' + props.name + '</b><br />' + props.density + ' people/mi<sup>2</sup>'
: 'Hover over a state');
};
info.addTo(map);
Hola Mathias y gracias por el excelente código. No estoy tan familiarizado con JavaScript y HTML. ¿Tienes un archivo html + javascript completo que pueda usar? tnx. – Ash
Hola. Esto es genial, pero no centra la etiqueta. Trabajé este jquery para ejecutar en un evento moveend. También puede considerar mostrarlos en un mapend después de ocultarlos en un movestart para que no se vean raros cuando se escale el resto del mapa. $ (". Leaflet-label-overlay").cada uno (función (i) { $ (esto) .css ("tamaño de fuente", Math.pow (2, map.getZoom())/2000 + "%") .css ("margin-left" , - $ (this) .width()/2) .css ("margin-top", - $ (this) .height()/2); }); } –
(modifique el 2000 al gusto. También puede usar alguna técnica para ocultar las etiquetas con un zoom bajo o alto, o para modificar la negrita que tengan, etc.) –