Листовка JS с петлей в JavaScript - PullRequest
0 голосов
/ 28 апреля 2018

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

$(document).ready(function() {
    console.log("ready!");

    // ID of the Google Spreadsheet
    var spreadsheetID = "spreadsheetID";
    // Make sure it is public or set to Anyone with link can view 
    var url = "https://spreadsheets.google.com/feeds/list/" + spreadsheetID + "/1/public/values?alt=json";

    $.getJSON(url, function(data) {

        var entry = data.feed.entry;
        var amount = entry.lenght;

        var i;
        for (i = 0; i <= amount; i++) {

            var lat = data.feed.entry[i]['gsx$lat']['$t'];
            var lon = data.feed.entry[i]['gsx$lon']['$t'];
            var name = data.feed.entry[i]['gsx$name']['$t'];
            var to = data.feed.entry[i]['gsx$to']['$t'];
            var time = data.feed.entry[i]['gsx$time']['$t'];
            var tel = data.feed.entry[i]['gsx$tel']['$t'];

            var marker = L.marker([lon, lat]).addTo(mymap);
            marker.bindPopup('<b>Name:</b> ' + name + '<br><b>To:</b> ' + to + '<br><b>Time:</b> ' + time + '<br><b> Tel:</b> ' + tel);
        }
    })
});

1 Ответ

0 голосов
/ 01 мая 2018

Исправлен ваш код с опечаткой и проблемой LatLng:

$(document).ready(function() {
console.log("ready!");

// ID of the Google Spreadsheet
var spreadsheetID = "spreadsheetID";
// Make sure it is public or set to Anyone with link can view 
var url = "https://spreadsheets.google.com/feeds/list/" + spreadsheetID + "/1/public/values?alt=json";

$.getJSON(url, function(data) {

    var entry = data.feed.entry;
    var amount = entry.length;

    var i;
    for (i = 0; i < amount; i++) {

        var lat = data.feed.entry[i]['gsx$lat']['$t'];
        var lon = data.feed.entry[i]['gsx$lon']['$t'];
        var name = data.feed.entry[i]['gsx$name']['$t'];
        var to = data.feed.entry[i]['gsx$to']['$t'];
        var time = data.feed.entry[i]['gsx$time']['$t'];
        var tel = data.feed.entry[i]['gsx$tel']['$t'];

        var marker = L.marker([lat, lon]).addTo(mymap);
        marker.bindPopup('<b>Name:</b> ' + name + '<br><b>To:</b> ' + to + '<br><b>Time:</b> ' + time + '<br><b> Tel:</b> ' + tel);
    }
})
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...