Поиск листовок: невозможно найти типы точек - PullRequest
0 голосов
/ 21 декабря 2018

Я следовал за этим репозиторием Поиск листовок

, и я хочу объединить окно поиска, используя полигоны, полилинии и точки.для полигонов и полилиний работает нормально.Но не для очков.Имя свойства действительно появляется, но когда я выбираю его, ответа нет ..

error

, как вы можете видеть, я получил ошибку, когда нахожу точку

и если я найду других, таких как полилинии или полигоны, the results was successfull

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

...