Leaflet: .on('popupopen') acara tidak diaktifkan pada penanda

Dibuat pada 22 Sep 2014  ·  3Komentar  ·  Sumber: Leaflet/Leaflet

Halo,

KONTEKS
Saya menulis beberapa arahan AngularJS untuk selebaran. Satu untuk peta, satu untuk lapisan, satu untuk penanda dan satu untuk munculan.

Arahan sudut untuk popup, mendengarkan penanda untuk dikaitkan.

    .bindPopup(popup)
    .on('dragstart', function () {
        console.log(dragstart");
    })
    .on('dragend', function () {
        console.log("dragend!");
    })
    .on('popupopen', function (popup) {
        console.log("popup opened !", popup);
    });

MENGHARAPKAN
Semua acara harus dipecat.

HASIL

popupevent tidak dipecat? Yang lain dipecat.


Selebaran : 0,7,2
OS: Windows 7
browser: Google Chrome 37 & Firefox 32

Komentar yang paling membantu

Inilah masalahnya, ketika Anda melakukan ini

var coordinates = {};
var markerOptions = {};
var marker = L.marker(coordinates), markerOptions );
marker.bindPopup("my content");

Metode bindPopup() dapat memiliki objek String atau Popup. Untuk contoh ini, kita melewatkan sebuah String dan metode ini akan membuat popup yang tepat. Jika Anda meneruskan elemen sembulan khusus, Anda harus menambahkan penanda ke dalam sembulan sebelumnya. Jika tidak, popup tidak akan pernah memiliki elemen sumbernya.

Solusi terakhir.

var coordinates = {};
var markerOptions = {};
var marker = L.marker(coordinates), markerOptions );

var popupOptions = {};
// you have to append the marker on the creation of the popup
// so that the popup element will have the marker source.
var popup = L.popup(popupOptions, marker );

// and this will work !
marker
    .bindPopup(popup)
    .on('dragstart', function () {
        console.log(dragstart");
    })
    .on('dragend', function () {
        console.log("dragend!");
    })
    .on('popupopen', function (popup) {
        console.log("popup opened !", popup);
    });

Semua 3 komentar

Setelah beberapa tes, masalahnya datang dari perpustakaan kustom popup kami.

komentar avez vous fait?

22-09-2014 11:39 GMT+02:00 Pierre Baron [email protected] :

Ditutup #2907 https://github.com/Leaflet/Leaflet/issues/2907.


Balas email ini secara langsung atau lihat di GitHub
https://github.com/Leaflet/Leaflet/issues/2907#event -168346883.

Inilah masalahnya, ketika Anda melakukan ini

var coordinates = {};
var markerOptions = {};
var marker = L.marker(coordinates), markerOptions );
marker.bindPopup("my content");

Metode bindPopup() dapat memiliki objek String atau Popup. Untuk contoh ini, kita melewatkan sebuah String dan metode ini akan membuat popup yang tepat. Jika Anda meneruskan elemen sembulan khusus, Anda harus menambahkan penanda ke dalam sembulan sebelumnya. Jika tidak, popup tidak akan pernah memiliki elemen sumbernya.

Solusi terakhir.

var coordinates = {};
var markerOptions = {};
var marker = L.marker(coordinates), markerOptions );

var popupOptions = {};
// you have to append the marker on the creation of the popup
// so that the popup element will have the marker source.
var popup = L.popup(popupOptions, marker );

// and this will work !
marker
    .bindPopup(popup)
    .on('dragstart', function () {
        console.log(dragstart");
    })
    .on('dragend', function () {
        console.log("dragend!");
    })
    .on('popupopen', function (popup) {
        console.log("popup opened !", popup);
    });
Apakah halaman ini membantu?
0 / 5 - 0 peringkat