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