Leaflet, добавьте fitbounds с помощью geoJson - PullRequest
0 голосов
/ 03 октября 2019

Не совсем удобно с JS, я пытаюсь добавить функцию Fitbound в свой проект, но не могу управлять.

У меня также есть некоторые проблемы с загрузкой только в Firefox, все маркеры отображаются в правильном месте, но карта не загружается правильно, а центр неверен. Может быть, что-то не так с моим кодом JS? Пожалуйста помоги.

    var obj = {
        lang    : 'en',
    };
    var lat = 52.533642;
    var lon = 9.071749;
    function initMap() {
        var mymap = L.map('map').setView([lat, lon], 14);
        var Wikimedia = L.tileLayer('https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}{r}.png', { attribution: '',
            attribution: '<a href="https://wikimediafoundation.org/wiki/Maps_Terms_of_Use">Wikimedia</a>',
            minZoom: 5,
            maxZoom: 19,
            ext: 'png'
        }).addTo(mymap);
        $.getJSON("markers.php?"+$.param(obj),  function(data){
            L.geoJson(data,{
                pointToLayer: function(feature,latlng){
                    var fontIcon = L.divIcon({
                        html: '<span class="myfont-icon"></span>',
                        iconSize: [30, 10],
                        className: 'icon'
                    });                 

                    var marker = L.marker(latlng,{icon: fontIcon});
                        marker.bindPopup('<h2>'+feature.properties.TITLE+'</h2>' );
                        return marker;
                }
            }).addTo(mymap);
        });
    }
    window.onload = function(){
        initMap();
    };

1 Ответ

0 голосов
/ 03 октября 2019

Я думаю, что вам нужно добавить Викимедиа на карту в качестве слоя.

var Wikimedia = L.tileLayer('https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}{r}.png', 
    { attribution: '',attribution: '<a 
        href="https://wikimediafoundation.org/wiki/Maps_Terms_of_Use">Wikimedia</a>',
        minZoom: 5,
        maxZoom: 19,
        ext: 'png'
    })
var map = L.map('mymap', { layers: [Wikimedia]}).setView([lat, lon], 14);;
...