рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╕рднреА рдЯрд╛рдЗрд▓реЗрдВ рдареАрдХ рд╕реЗ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ._onResize ()
рд╡рд┐рдВрдбреЛрдЬрд╝ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ: 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*/
}
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рд╡рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдЯрд╛рдЗрд▓реЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдореИрдВ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рддрд╛ рд╣реВрдВ, рддреЛ рд╕рднреА рдЯрд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред