Получение данных из API веб-сайта и отображение в EJS - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь использовать API веб-сайтов для извлечения данных, чтобы потом их можно было вставить в приложение Leaflet Map.В его нынешнем виде я использую метод https get для его извлечения, и при запуске он возвращает undefined в журнале консоли.

Мой метод состоит в том, чтобы извлечь эти данные, проанализировать их в JSON изатем вставьте эти данные в мой файл EJS.В настоящее время я использую Sails.js с узлом.

Пока это мой код:

const https = require('https');

https.get('https://thesession.org/sessions/nearby?latlon=53,-6&radius=75&format=json&perpage=50', (resp) => {
    let data = '';

    // A chunk of data has been recieved.
    resp.on('data', (chunk) => {
       data += chunk;
    });

    // The whole response has been received. Print out the result.
    resp.on('end', () => {
        console.log(JSON.parse(data).explanation);
    });

}).on("error", (err) => {
    console.log("Error: " + err.message);
});
<body>
<div id="mapid"></div>
</body>

<script src="https://unpkg.com/leaflet@1.3.4/dist/leaflet.js"
        integrity="sha512-nMMmRyTVoLYqjP9hrbed9S+FzjZHW5gY1TWCHA5ckwXZBadntCNs8kEqAWdrb9O7rxbCaA4lKTIWjDXZxflOcA=="
        crossorigin=""></script>
<script type="text/javascript" src="leaflet.ajax.min.js"></script>
<script>
    var mymap = L.map('mapid').setView([53.513342, -6.541414], 13);

    L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
        attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
        maxZoom: 18,
        id: 'mapbox.streets',
        accessToken: 'pk.eyJ1IjoiaWlyb3VnZWlpIiwiYSI6ImNqbmQzaDR1bDA5YWczcWxmOHhhM2prYXkifQ._l5K7TrnSck_TvRqFq4GAw'
    }).addTo(mymap);


    var popup = L.popup();

    function onMapClick(e) {
        popup
            .setLatLng(e.latlng)
            .setContent("You clicked the map at " + e.latlng.toString())
            .openOn(mymap);
    }

    mymap.on('click', onMapClick);

    var geojsonLayer = new L.GeoJSON.AJAX("Points.geojson");
</script>

Спасибо.

...