При обновлении geoJSON в проекте листовки выбрасывается «Не удается прочитать свойство» _source «undefined» в label.js - PullRequest
0 голосов
/ 10 октября 2019

Я изменяю проект листовки так, что при изменении одного из файлов входных данных (data / Point_1.js) маркеры обновляются с новыми данными.

Я использую SetTimeout, чтобы перезагрузитьPoint_1.js, чтобы при изменении данных карта обновлялась.

Я могу отлично отобразить исходные данные, однако, когда я пытаюсь обновить их, я получаю сообщение об ошибке с неопределенными данными. Я надеюсь, что люди, которые могли использовать буклет, могли бы дать некоторые подсказки о том, что может быть неправильным.

статус устанавливается в значение true после загрузки исходных данных, это часть обновления кода. Он умирает в операторе bounds_group.addLayer (layer_Point_1).

        if (status) {
        // just refresh the data points here
            layer_Point_1.clearLayers();

            layer_Point_1 =  L.geoJson(json_Point_1, {
                attribution: '<a href=""></a>',
                pane: 'pane_Point_1',
                onEachFeature: pop_Point_1,
                pointToLayer: function (feature, latlng) {
                    var context = {
                        feature: feature,
                        variables: {}
                    };
                    return L.marker(latlng, style_Point_1_0(feature));
                },
            });
            bounds_group.addLayer(layer_Point_1);
            map.addLayer(layer_Point_1);            
        } else {
        //create the map and layer elements
            map.createPane('pane_Point_1');
            map.getPane('pane_Point_1').style.zIndex = 401;
            map.getPane('pane_Point_1').style['mix-blend-mode'] = 'normal';
            layer_Point_1 =  L.geoJson(json_Point_1, {
                attribution: '<a href=""></a>',
                pane: 'pane_Point_1',
                onEachFeature: pop_Point_1,
                pointToLayer: function (feature, latlng) {
                    var context = {
                        feature: feature,
                        variables: {}
                    };
                    return L.marker(latlng, style_Point_1_0(feature));
                },
            });
            bounds_group.addLayer(layer_Point_1);
            map.addLayer(layer_Point_1);
            var baseMaps = {};
            L.control.layers(baseMaps,{'<img src="legend/Point_1.png" /> Point': layer_Point_1,"Imagery": overlay_Imagery_0,},{collapsed:false}).addTo(map);
            setBounds();
            var i = 0;
            layer_Point_1.eachLayer(function(layer) {
                var context = {
                    feature: layer.feature,
                    variables: {}
                };
                layer.bindTooltip((layer.feature.properties['OBJECTID'] !== null?String('<div style="color: #000000; font-size: 12pt; font-weight: bold; font-family: \'Univers LT Std 55\', sans-serif;">' + layer.feature.properties['OBJECTID']) + '</div>':''), {permanent: true, offset: [-0, -16], className: 'css_Point_1'});
                labels.push(layer);
                totalMarkers += 1;
                  layer.added = true;
                  addLabel(layer, i);
                  i++;
            });
            map.addControl(new L.Control.Search({
                layer: layer_Point_1,
                initial: false,
                hideMarkerOnCollapse: true,
                propertyName: 'Name'}));
            document.getElementsByClassName('search-button')[0].className +=' fa fa-binoculars';
            L.ImageOverlay.include({
                getBounds: function () {
                    return this._bounds;
                }
            });
            resetLabels([layer_Point_1]);
            map.on("zoomend", function(){
                resetLabels([layer_Point_1]);
            });
            map.on("layeradd", function(){
                resetLabels([layer_Point_1]);
            });
            map.on("layerremove", function(){
                resetLabels([layer_Point_1]);
            });
        }
    }
...