Leaflet: рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рддрдХ рд╕рднреА рдЯрд╛рдЗрд▓реЗрдВ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддреАрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдордИ 2012  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Leaflet/Leaflet

рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╕рднреА рдЯрд╛рдЗрд▓реЗрдВ рдареАрдХ рд╕реЗ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ._onResize ()

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рд╡рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдЯрд╛рдЗрд▓реЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдореИрдВ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рддрд╛ рд╣реВрдВ, рддреЛ рд╕рднреА рдЯрд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╡рд┐рдВрдбреЛрдЬрд╝ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ: http://leaflet.cloudmade.com/debug/map/map-mobile.html

рдпрджрд┐ рдЖрдк рдорд╛рдирдЪрд┐рддреНрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЖрдХрд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ map.invalidateSize() рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рд╡рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдЯрд╛рдЗрд▓реЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдореИрдВ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рддрд╛ рд╣реВрдВ, рддреЛ рд╕рднреА рдЯрд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред

рдХреНрд░реЛрдо 27 рдкрд░ рдЗрд╕ рдмрдЧ рдХреЗ рд▓рд┐рдП рддрдп рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ
рдпреВрдЖрд░рдПрд▓ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ

рдЗрд╕реЗ рдЬрд╛рдВрдЪреЗрдВ: http://leafletjs.com/examples/mobile-example.html

@mourner рдореБрдЭреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП map._onResize() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЙрдкрд░реЛрдХреНрдд рдпреВрдЖрд░рдПрд▓ рдПрдХ рдкреВрд░реНрдгрд╕реНрдХреНрд░реАрди рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдорд╛рдирдЪрд┐рддреНрд░ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдЖрдкрдХреЗ рд╣реИрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

@mourner рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓

    var is_fullScreen=0;
    $("#close_left").click(function(){
        if(is_fullScreen){
            $("#left_panel").animate({left:0,opacity:1},800);
            $("#right_panel").animate({marginLeft:280},800);
            this.className="icon-left";
            is_fullScreen=0;
            setTimeout(function(){ map.setView([5,40],2);},1000);
        }else{
            $("#left_panel").animate({left:-280,opacity:0},800);
            $("#right_panel").animate({marginLeft:0},800);
            this.className="icon-right";
            setTimeout(function(){map.invalidateSize();            map.setView([5,-20],3);},1000)
            is_fullScreen=1;
        }
    });

рд╡рд┐рдВрдбреЛрдЬрд╝ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ: http://leaflet.cloudmade.com/debug/map/map-mobile.html

рдпрджрд┐ рдЖрдк рдорд╛рдирдЪрд┐рддреНрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЖрдХрд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ map.invalidateSize() рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЖрдкрдиреЗ рдореЗрд░рд╛ рджрд┐рди рдмрдирд╛ рджрд┐рдпрд╛ред рдореЗрд░рд╛ рдирдХреНрд╢рд╛ рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред setView , flyTo , panTo , fitbounds рд╕рд╣рд┐рдд рдХреЛрдИ рднреА рдлрд╝рдВрдХреНрд╢рди рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдХрднреА-рдХрднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдХрднреА-рдХрднреА рдирд╣реАрдВред рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣ рдХрдм рд╣реБрдЖ ред рдлрд┐рд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЬрдм рдореИрдВ рдЦрд┐рдбрд╝рдХреА рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдШрдВрдЯреЛрдВ рдХреЗ рдмреЗрдХрд╛рд░ рдЖрд░ рдПрдВрдб рдбреА рдЗрд╕ рдзрд╛рдЧреЗ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ред

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рд╕реБрдиреЛ Map obj рдиреЗ рдореЗрд░реА рдорджрдж рдХреАред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдирдХреНрд╢рд╛ рд▓реЛрдб рд╣реЛрдиреЗ рдпрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдФрд░ рдЕрдВрджрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ - map.invalidateSize().

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реБрдХ рд░рд╛рд╕реНрддрд╛:

import { Map as LeafletMap } from "react-leaflet";

export default const MyMap = () => {

   useEffect(()=>{
        mapElement.current.leafletElement.invalidateSize();
    },[mapElement])


  /*render and other function*/
}
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

remilev picture remilev  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ssured picture ssured  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

prbaron picture prbaron  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

CallMarl picture CallMarl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

walterfn2 picture walterfn2  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ