Функция срабатывает несмотря на условный запрос в лист-карте - PullRequest
0 голосов
/ 13 февраля 2019

На карте, созданной с помощью Leaflet, я создал кнопку для экспорта и загрузки данных в виде geoJSON, нарисованного ранее пользователем с помощью Leaflet.draw .

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

В инструменте рисования листовки созданные данные хранятся в layergroup с именем 'layerGroup'.

После первой загрузки карты, нажав на кнопку, я получаю предупреждение «Нечего загружать!», Консоль возвращает «Слои в FeatureGroup: 0», и данные не были загружены.Все идет нормально.

В инструменте рисования я могу снова добавлять и удалять данные.После добавления, а затем удаления всех данных в layerGroup не должно быть слоя, и поэтому я должен испытать те же действия, что и раньше, без загрузки.В консоли я получаю сообщение «Слои в featureGroup: 0», предупреждение «Нечего загружать!»появляется, но я не знаю почему, загрузка все еще начинается.

У вас есть идеи, почему мой код так себя ведет?

//Export Button 
document.getElementById('export').onclick = function(e) {
    //get layer number in var layer_number
    var layer_number = featureGroup.getLayers().filter(function(l) {return l instanceof L.Marker} ).length;
    console.log("Layers in featureGroup: ", layer_number);
    if (layer_number > 0){

        // Extract GeoJson from featureGroup
        var data = featureGroup.toGeoJSON();

        // Stringify the GeoJson
        var convertedData = 'text/json;charset=utf-8,'+encodeURIComponent(JSON.stringify(data));

        // Create export                 
      document.getElementById('export').setAttribute('href', 'data:' + convertedData);
      document.getElementById('export').setAttribute('download',''+timestamp +'.geojson');

    //show confirmation popup       
    $('.confirmation').show();
    //hide popup on button click
    $('#agree_button').click(function(){
        $('.confirmation').hide();
    });
}
//message if no feature in featureGroup
else {
    alert("There is nothing to download!");
}           
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...