Ошибка передачи координат в функцию LatLng в Leaflet - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь выяснить, как передать координаты в функцию L.LatLng в листовке, чтобы она могла отобразить координаты.

Я могу успешно загрузить данные, и это выглядит так:

//This is the structure of the geojson data, as an example
var SanFranciscoData = {"type":"FeatureCollection", "features": [
{"type":"Feature","geometry":{"type":"Point","coordinates":[-96.97593699999999,32.889954000000046]}

//Load in the geojson
d3.json("data/dataPoints.json", function(SFData) {
        var SFData = SanFranciscoData.features
        })

    //pass in coordinates to the L.LatLng leaflet function
    SFData.forEach(function(d) {
        d.latLong = new L.LatLng(d.features.geometry.coordinates[1],
                                d.features.geometry.coordinates[0]);
         })

Я также пробовал, как я видел в примерах:

var coords = SFData.feature.geometry.coordinates;

Оба метода выше дают один и тот же результат: координаты не определены. Кто-нибудь может сказать мне, что я делаю не так? Я не уверен, как получить доступ к массиву координат, используя обозначение объекта для доступа к широте / долготе. Любая помощь с благодарностью!

1 Ответ

0 голосов
/ 07 ноября 2018

Хорошо .. это сработало:

SFData.forEach(function(d) {
        var coords = d.geometry.coordinates
        console.log(coords)
        d.latLong = new L.LatLng(coords[1],
                                coords[0]);

    })

Похоже, что координаты должны быть определены с помощью функции .forEach!

...