map.fitBounds()κ° μμ
μ μ’
λ£ν λλ§λ€ μ½λ°±μ μΆκ°νλ κ²μ΄ μ’μ΅λλ€. μ€λ μ°λ¦¬λ map.once('zoomend moveend', function());
λ₯Ό μΆκ°νλ κ²μ μμ‘΄ν΄μΌ ν©λλ€.
μλ₯Ό λ€μ΄, λ§μ»€κ° λνλ ν λ°μ΄μ€λλλ‘ νλ €λ©΄ λ€μμ μνν΄μΌ ν©λλ€.
var marker = getMarker();
map.once('zoomend moveend', ()=>{bounceMarker(marker);});
map.fitBounds(marker.getBounds());
λ€μκ³Ό κ°μ΄ νλ©΄ μ’μ κ²μ
λλ€.
map.fitBounds(marker.getBounds()).then(()=>{bounceMarker(marker);});
μ§λ μνλ₯Ό μμ νλ μ§λ ν¨μκ° Promise
λ°ννλ©΄ μ’μ κ²μ
λλ€.
λ΄κ° ν κ²μ λ΄ μ§λμ λ©μλλ₯Ό μΆκ°νλ κ²μ΄μμ΅λλ€(jquery μ½μμ μ¬μ©νμ§λ§ μ½κ² λ체ν μ μμ).
zoomToBounds: function () {
var promise = $.Deferred();
this.once("moveend", function () {setTimeout(function () {promise.resolve();}, 20);});
this.fitBounds.call(this, arguments);
return promise;
}
$.Deferred()
λ₯Ό new Promise()
λ체ν λ€μ pull μμ²μ μμ±ν μ μμ΅λκΉ?
κ°μ₯ μ μ©ν λκΈ
μ§λ μνλ₯Ό μμ νλ μ§λ ν¨μκ°
Promise
λ°ννλ©΄ μ’μ κ²μ λλ€.