2013-05-23 7 views
8

Şu anda gmaps içeren bir broşür-proje üzerinde çalışıyoruz ve biraz sorunum var. Broşürün haritayı sürükleyerek işaretçi açılır pencerelere sığmasını nasıl engelleyebilirim?

(bir popup her biriyle) çoklu işaretleri ekledikten sonra hepsini açmak istiyorum.

aşağıdaki kod barış kullanarak, bu yüzden -herhalde- yapmak için: beklendiği gibi

L.Map = L.Map.extend({ 
    openPopup: function(popup) { 
    //  this.closePopup(); 
    this._popup = popup; 

    return this.addLayer(popup).fire('popupopen', { 
     popup: this._popup 
    }); 
    } 
}); 

pageload üzerinde her şey çalışıyor. pageload kullanıcı zooms in sonra

ve bazı belirteçler kullanıcının out of the “view area” şunlardır:

Ama burada başarısız senaryoyu geliyor.

birkaç saniye sonra, (belirteçler için) web sitesi yükleri new position datausing a rest interface. konum verileri iletilir sonra

i şu anda tüm belirteçleri uzaklaştırmak ve bunları yeniden iletilen pozisyonlarda ve açın.

Ve bu marker.openPopup(), map moves, yani popup fits in the “view area” of the user öğesinin tetikleyicilerini tetikler.

Nasıl bu durumda prevent leaflet to drag the map can?

cevap

11

Sana autoPan özelliğine atıfta inanıyoruz? API Gönderen: Popup oluştururken

http://leafletjs.com/reference.html#popup

Set it to false if you don't want the map to do panning animation to fit the opened popup.

Yani, sadece autoPan: false

+0

OMG ... Hep 'openAllPopUp' edilerek uyarıldı It'sa hata, düşünüyordum seçeneğinde geçmektedir -Kesmek. PopUp nesnesinde basit bir seçenek düşünmemiştim .. Teşekkürler yoU! – gies0r