Leaflet 从geojson多段线开始标记

Leaflet 从geojson多段线开始标记,leaflet,mapbox,Leaflet,Mapbox,我有一张地图,上面有一些步行和自行车路线,还有一些带有图片细节的弹出窗口。现在我想在geojson多段线的第一个顶点上设置一个标记,但我找不到如何设置。顺便说一句,我不熟悉传单/地图盒,我把我的地图和代码片段放在一起。 这就是我现在创建多段线的方式。我通过layercontrol给他们打电话 var mtb = L.geoJson(radjs, { filter: function (feature, layer) { if (feature.properties) {

我有一张地图,上面有一些步行和自行车路线,还有一些带有图片细节的弹出窗口。现在我想在geojson多段线的第一个顶点上设置一个标记,但我找不到如何设置。顺便说一句,我不熟悉传单/地图盒,我把我的地图和代码片段放在一起。

这就是我现在创建多段线的方式。我通过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);
谢谢你的帮助,
Marc

您只需在geojson中添加一个纬度和经度的功能,就像

从geojson特性中读取geometry.coordinates并定义一个新标记可能会更方便

此外,第569行有一个错误。您应该更改:

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


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

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]))

谢谢你的回答。我已经改正了错误。你能给我举个例子,如何从geojson中读取第一个geometry.coordinate吗?谢谢你的建议,但我无法启动并运行它。我更新了一些代码,以展示如何创建多段线。有什么建议吗,我该如何使用你的代码呢?你的总体代码有几个问题,但看起来像你。第524行留下一个开角括号,没有闭合括号,
onEachFeature2
未定义。请先解决这些问题。如果您遇到困难,请尝试一下如何更好地诊断和修复这些错误。
marker.setLatLng(L.latLng(
    geojson.coordinates[0][1],
    geojson.coordinates[0][0]))