Я следовал за этим репозиторием Поиск листовок
, и я хочу объединить окно поиска, используя полигоны, полилинии и точки.для полигонов и полилиний работает нормально.Но не для очков.Имя свойства действительно появляется, но когда я выбираю его, ответа нет ..
, как вы можете видеть, я получил ошибку, когда нахожу точку
и если я найду других, таких как полилинии или полигоны,
<script src="data/us-states.js"></script>
<script src="data/restaurant.geojson.js"></script>
var map = new L.Map('map', {zoom: 1, center: new L.latLng([37.8, -96]) });
map.addLayer(new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png')); //base layer
var us_states = new L.GeoJSON(us_states, {
style: function(feature) {
return {color: feature.properties.color };
},
onEachFeature: function(feature, marker) {
marker.bindPopup('<h4 style="color:'+feature.properties.color+'">'+ feature.properties.name +'</h4>');
}
});
map.addLayer(us_states);
var restaurant = new L.GeoJSON(restaurant, {
style: function(feature) {
return {color: feature.properties.color };
},
onEachFeature: function(feature, marker) {
marker.bindPopup('<h4 style="color:'+feature.properties.color+'">'+ feature.properties.name +'</h4>');
}
});
map.addLayer(restaurant);
var searchControl = new L.Control.Search({
layer: L.featureGroup([us_states,restaurant]),
propertyName: 'name',
marker: false,
moveToLocation: function(latlng, title, map) {
var zoom = map.getBoundsZoom(latlng.layer.getBounds());
map.setView(latlng, zoom);
}
});
searchControl.on('search:locationfound', function(e) {
e.layer.setStyle({fillColor: '#3f0', color: '#0f0'});
if(e.layer._popup)
e.layer.openPopup();
}).on('search:collapsed', function(e) {
featuresLayer.eachLayer(function(layer) {
featuresLayer.resetStyle(layer);
});
});
map.addControl( searchControl );
может быть, кто-то может мне помочь?
это уведомление об ошибке:
Uncaught TypeError: latlng.layer.getBounds не является функцией в e.moveToLocation [as _moveToLocation] (geojson-layer.html: 63) в e.showLocation (leaflet-search.js: 893)в e._handleSubmit (leaflet-search.js: 856) в e.(leaflet-search.js: 398) на HTMLLIElement.r (leaflet.js: 5)