在传单地图中,我正在添加搜索功能。基于属性' Clean_Feature_Name'在具有多边形坐标的geojson文件中。 但是,它不搜索,只显示以下错误消息。它似乎不基于propertyName进行搜索。可以请别人帮忙吗?
uncaught TypeError: Cannot read property 'lat' of undefined
at T.getCenter (leaflet.js:5)
at e._searchInLayer (leaflet-search.min.js:17)
at leaflet-search.min.js:17
at eachLayer (leaflet.js:5)
at e._recordsFromLayer (leaflet-search.min.js:17)
at e._fillRecordsCache (leaflet-search.min.js:17)
at leaflet-search.min.js:17
我的geojson数据
var Mars =
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [[[-68.42836570739746, 74.97826194763184], [-68.86942863464355, 74.8109302520752], [-69.42859840393066, 74.8525562286377], [-75.43949317932129, 76.16095542907715], [-75.46052360534668, 76.43600654602051], [-75.25974464416504, 77.1826000213623], [-75.18795585632324, 78.65801429748535], [-75.20999717712402, 78.6591625213623], [-74.92653465270996, 78.78381538391113], [-66.64877128601074, 77.87516212463379], [-66.60500526428223, 77.76282691955566], [-68.42836570739746, 74.97826194763184]]]
},
"properties": {
"Feature_ID": 4,
"Clean_Feature_Name": "Abalos Colles",
}
}
]
}
for(var i in Mars.features)
Mars.features[i].properties.color = getColor(Mars.features[i].properties.number_of_papers );
这是我的代码(与此示例https://github.com/stefanocudini/leaflet-search/blob/master/examples/geojson-layer.html几乎相同)
var data = Mars;
var featuresLayer = new L.GeoJSON(data, {
style: function(feature) {
return {color: feature.properties.color };
},
}
map.addLayer(featuresLayer);
var searchControl = new L.Control.Search({
layer: featuresLayer,
propertyName: 'Clean_Feature_Name',
}
});
map.addControl( searchControl ); //inizialize search control