Daha çox

Leaflet və MapBox istifadə edərək göstərilən xəritə məlumatlarına nəzarət


Leaflet (MapBox ilə) istifadə edərək xəritə əsaslı bir qrafik qururam. Böyütdükdə xəritədə göstərilən təfərrüatların səviyyəsini idarə etməyin bir yolu olub olmadığını bilmək istərdim. Məsələn, Dövlətlərarası magistral yolu və ya küçə adlarını görmək istəmirəm.

Bu link google maps istifadə edərək bunu necə edəcəyini izah edir.


Bəli, ən azı iki yol var.

  1. Vərəqənin zoomend hadisəsi. Misal üçün:

    map.on ('zoomend', function () {var zoomLevel = map.getZoom (); if (zoomLevel> 10) map.removeLayer (magistral yollar);});

    Bu (çox) natamamdır. Çox güman ki, mövcud zum səviyyəsinə əsasən təbəqələr əlavə edib silmək istəyəcəksiniz.

    Bu hadisə ilə xüsusi zoom səviyyələrində markerləri gizlətmək üçün MapBox-dan bir nümunə və ayrıca bəzi xüsusi MapBox metodları.

  2. L.tileLayerminZoom və maxZoom seçimləri var. Beləliklə, etiketli və etiketsiz plitələrə girişiniz varsa (magistral yollar və s.), Kafel təbəqələrini yaradan zaman bu seçimlərdən keçə bilərsiniz:

    // yüksək zoom üçün etiketli plitələr var withLabels = L.tileLayer (url, {maxZoom: 18, minZoom: 11,}). addTo (map); // aşağı zoom üçün etiketsiz plitələr var noLabels = L.tileLayer (url, {maxZoom: 19, minZoom: 0,}). addTo (map);


Videoya baxın: Leaflet Map in Flutter Tutorial (Oktyabr 2021).