4 votos

¿Cómo obtener la matriz LatLng de la capa geoJSON en Leaflet?

Necesito entregar las coordenadas latlng de mi phpPostGIS-servido geoJSONLayer como una matriz a un nuevo añadido HeatMap Layer. L.geoJSON tiene una opción integrada: coordsToLatLng( coords )" y un método estático para ello: coordsToLatLngs( coords, levelsDeep?, reverse? ). No obtengo ningún error, pero el mapa de calor no aparece. Si construyo un nuevo L.heatLayer(coord).addTo(map); fuera de la función, funciona ¿Alguien tiene alguna idea? Esto es lo que tengo hasta ahora:

    $.getJSON("postgis_geojson.php?geotable=shops&geomfield=the_geom", function(data) {

        L.geoJson(data, {
            pointToLayer: function (feature, latlng) {
                return L.circleMarker(latlng, geojsonMarkerOptions);

            },
             onEachFeature: function (feature, layer) {
                 popupOptions = {maxWidth: 200};
                layer.bindPopup(feature.properties.popupContent);
            },
            coordsToLatLng: function (coords) {
            return new L.heatLayer(coords);
            }

        }).addTo(map);
        });

5voto

keparo Puntos 13747

En OnEachFeature puedes encontrar las coordenadas en feature.geometry.coordinates. así

   coords = []; //define an array to store coordinates
   onEachFeature: function (feature, layer) {
             popupOptions = {maxWidth: 200};
            layer.bindPopup(feature.properties.popupContent);
            coords.push(feature.geometry.coordinates);

}

Ahora puede utilizar la matriz coords en L.heatLayer

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X