ararken işaretlendik- olmadan Broşür Geocoder kullanın

oy
0

Şu anda ben broşür haritayı kullanarak ve bu geocoder eklentisi Eklendiğim: https://github.com/perliedman/leaflet-control-geocoder . Benim sorunum bir yeri aramak o her, o da bu konumda bir işaret setleri, ama ben söylememin istiyorum. Sadece yakınlaştırmak ve bir işaretleyici ayarlamamalıdır.

Herkes bu işlevi devre dışı bırakmak veya anında ayarlanan işaretleyici nasıl silineceğini biliyor mu?

set işaretleyici şöyle

Ben İon / daktilo çalışıyorum ve geocoder kullandığım için kod şudur:

leaflet.Control.geocoder().addTo(this.map);   

GitHub'dan, defaultMarkGeocode göre: false işaretleyici devre dışı bırakmalısınız. Bunu kullanırken, sadece bu hatayı alıyorum:

tanımsız malı '_leaflet_id' okunamıyor

Ben de denedim

var geocoder = L.Control.geocoder({
    defaultMarkGeocode: false
})
.on('markgeocode', function(e) {
    var bbox = e.geocode.bbox;
    var poly = L.polygon([
         bbox.getSouthEast(),
         bbox.getNorthEast(),
         bbox.getNorthWest(),
         bbox.getSouthWest()
    ]).addTo(map);
    map.fitBounds(poly.getBounds());
})
.addTo(map);

ama sadece değişken geocoder hiç kullanılmamıştır söylüyor ve bu hatayı alıyorum:

tanımsız malı 'addLayer' okunamıyor

Eğer bunun nasıl düzeltileceğini ve ya devre dışı bırakmak veya bu işaretleyici silmek için önerileriniz varsa, çok minnetle olurdu.

Selamlar

Oluştur 22/07/2018 saat 17:40
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
0

Çoğaltmak Could kesin açıkladığınız hata mesajları:

var map = L.map('map').setView([0, 0], 2);

var geocoder = L.Control.geocoder({
    defaultMarkGeocode: false,
    collapsed: false
  })
  .on('markgeocode', function(e) {
    var bbox = e.geocode.bbox;
    var poly = L.polygon([
      bbox.getSouthEast(),
      bbox.getNorthEast(),
      bbox.getNorthWest(),
      bbox.getSouthWest()
    ]).addTo(map);
    map.fitBounds(poly.getBounds());
  })
  .addTo(map);

L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
html,
body,
#map {
  height: 100%;
  margin: 0;
}
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin="" />
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet-src.js" integrity="sha512-IkGU/uDhB9u9F8k+2OsA6XXoowIhOuQL1NTgNZHY1nkURnqEGlDZq3GsfmdJdKFe1k1zOc6YU2K7qY+hF9AodA==" crossorigin=""></script>

<link rel="stylesheet" href="https://unpkg.com/leaflet-control-geocoder@1.5.8/dist/Control.Geocoder.css" />
<script src="https://unpkg.com/leaflet-control-geocoder@1.5.8/dist/Control.Geocoder.js"></script>

<div id="map"></div>

Ancak collapsedseçeneğin ayarlandığı false, başka hata mesajı var:

TypeError: this.options.geocoder [mod] bir fonksiyonu değildir

... tarafından eklenti repo çözüldü hangi PR perliedman / broşür kontrol-geocoder # 184 , ancak henüz npm / unpkg CDN bir yayımlanan sürümünde sevk edilmez.

Eğer hata mesajlarıyla ilgili fazla yardıma ihtiyaç duyarsanız, lütfen bunları yeniden üretir kodu .

Cevap 23/07/2018 saat 13:40
kaynak kullanıcı

oy
0

küçük değişikliklerle bu deneyin.

var map = L.map('map').setView([0, 0], 2);

var geocoder = L.Control.geocoder({
    defaultMarkGeocode: false,
    collapsed: false
  })
  .on('markgeocode', (e) => {
    var bbox = e.geocode.bbox;
    var poly = L.polygon([
      bbox.getSouthEast(),
      bbox.getNorthEast(),
      bbox.getNorthWest(),
      bbox.getSouthWest()
    ]).addTo(map);
    map.fitBounds(poly.getBounds());
  })
  .addTo(map);
Cevap 22/08/2019 saat 12:09
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more