leaflet.js从对象子集创建地图标记

时间:2018-03-02 09:55:56

标签: javascript arrays json leaflet

好的,我有一张地图,我想添加多个标记组。我有一个叫做“岁月”的物品。我试图创建一个能够遍历“岁月”的功能。并从每年的子集中返回一个标记。

我无法完成子集来创建标记。谁能看到我做错了什么?

对象:

{
    "2016": [
        {
            "year": 2016,
            "latitude": 454545,
            "longitude": 20554,
        "other stuff": "bla0"
        },
        {
            "year": 2016,
            "latitude": 454545,
            "longitude": 20554,
        "other stuff": "bla1"
        }
    ],
    "2017": [
        {
            "year": 2017,
            "latitude": 454545,
            "longitude": 20554,
            "other stuff": "bla2"
        }
    ]
}

守则:

function createGroupMarkers(item, i){
    item.map(function(x){   
        marker = new L.marker(
            [x.latitude, x.longitude], // latitude and longitude
            determinIcon(x.year)
        )
    });
    const tempName = [`"${Object.getOwnPropertyNames(item)}"`: this];            
    overlay.push(tempName);
    this.addLayer(marker);
};


const getGroupMarkers = (array, groupName) => array.map(createGroupMarkers.bind(groupName));

const yearMarkers = L.layerGroup().addTo(charMap);

getGroupMarkers(years, yearMarkers);

let overlay = {
    'markers': allMarkers,
};

L.control.layers(null, overlay).addTo(charMap);

任何可以给予的帮助都会非常感激。 我在这里有一支WIP笔:https://codepen.io/sharperwebdev/pen/aqQQZy?editors=0012相关部分从第265行开始

由于

0 个答案:

没有答案