Bagaimana cara menggambar ulang / me-refresh peta pada ukuran kanvas?


Jawaban:


13

Tambahkan map.updateSize();ke akhir$("#btn-full-screen").click...

DEMO

dokumentasi updateSize

Fungsi ini harus dipanggil oleh kode eksternal apa pun yang secara dinamis mengubah ukuran div peta (karena mozilla tidak akan membiarkan kita menangkap "onresize" untuk elemen)


5

Anda dapat menggunakan OpenLayers.Map.updateSizemetode untuk menggambar ulang Lapisan dasar Anda ketika Anda memaksimalkan peta.

Jadi, tambahkan fungsi seperti:

var fullScreen = function () {
    map.baseLayer().redraw();
}

Anda hanya perlu menambahkan opsi tambahan ke peta Anda:

var map = new OpenLayers.Map({
    div: "map",
    center: new OpenLayers.LonLat(0, 0),
    updateSize: fullScreen,
    minResolution: "auto",
    minExtent: new OpenLayers.Bounds(-1, -1, 1, 1),
    maxResolution: "auto",
    maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
    projection: Mercator,
    displayProjection: Geographic
});

Semoga berhasil!


Itu tidak mengatur peta ke layar penuh, bisa tolong perbarui biola.
bios

Terima kasih. Saya memiliki ubin yang menjadi putih saat zoom menggunakan transitionEffect: 'resize'. map.baseLayer().redraw();memperbaikinya.
Nicolas Boisteault

0

Tuliskan kode berikut setiap kali Anda diminta untuk menggambar ulang peta seperti mengubah ukuran jendela atau mengubah tab atau layar penuh atau pada acara lain sesuai dengan kebutuhan Anda.

$(window).trigger('resize');

ini akan secara otomatis memicu updateSize()fungsi secara internal.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.