来自geoj​​son折线的Start-Marker

时间:2014-02-03 08:22:45

标签: leaflet mapbox

我有一张带有一些步行和自行车路线的地图,还有一些带有一些细节的弹出窗口。现在我想在geojson折线的第一个顶点上设置一个标记,但我不知道如何。顺便说一句。我是传单/ mapbox的新手,我把我的地图从代码片段中删除了 Here is the map now:

这就是我现在创建折线的方法。我通过layercontrol调用它们。

var mtb = L.geoJson(radjs, {
filter: function (feature, layer) {
    if (feature.properties) {
        // If the property "underConstruction" exists and is true, return false (don't render features under construction)
        return feature.properties.typ === 'mtb';
    }
    return true;
},
style: {
    "color": '#6699cc',
    dashArray: '',
    "weight": 4,
    "opacity": 0.6
},    onEachFeature: onEachFeature2}).addTo(rad);

感谢您的帮助, 马克

2 个答案:

答案 0 :(得分:0)

您可以使用纬度和经度向geojson添加一个功能,就像在Leaflet GeoJSON Example中执行一样。

从geojson功能中读取geometry.coordinates并定义新标记可能会更方便。

除了第569行有错误之外。你应该改变:

var map = L.mapbox.map('map','',{ 

为:

var map = L.mapbox.map('map',null,{ 

答案 1 :(得分:0)

创建一个简单的标记对象并将其添加到地图中。

marker = L.marker([0, 0], {
    icon: L.mapbox.marker.icon()
}).addTo(map)

然后将纬度和经度设置为geoJSON的第一个坐标。假设您的geoJSON设置为var geojson,您可以通过索引到数组来访问坐标。

marker.setLatLng(L.latLng(
    geojson.coordinates[0][1],
    geojson.coordinates[0][0]))