diff --git a/svgmap/src/components/map/Map.tsx b/svgmap/src/components/map/Map.tsx index bd280d8..8a4bf49 100644 --- a/svgmap/src/components/map/Map.tsx +++ b/svgmap/src/components/map/Map.tsx @@ -7,6 +7,7 @@ import SlippyBoard from './SlippyBoard'; import SingleTouchHandler from './SingleTouchHandler'; import DoubleTouchHandler from './DoubleTouchHandler'; import TiledLayer from './TiledLayer'; +import TiledLayerConductor from './TiledLayersConductor'; interface MapProperties { height: number; @@ -78,38 +79,13 @@ const Map: react.FC = (props: MapProperties) => { height={boardSize} fill='red' /> - - = Math.SQRT2 && zoom < 2 * Math.SQRT2} - /> - = 2 * Math.SQRT2} + key='tiled-layers' /> , diff --git a/svgmap/src/components/map/TiledLayersConductor.tsx b/svgmap/src/components/map/TiledLayersConductor.tsx new file mode 100644 index 0000000..96fe0df --- /dev/null +++ b/svgmap/src/components/map/TiledLayersConductor.tsx @@ -0,0 +1,63 @@ +import react from 'react'; +import TiledLayer from './TiledLayer'; + +interface Point { + x: number; + y: number; +} + +interface TiledLayerConductorProperties { + height: number; + width: number; + shift: Point; + zoom: number; + tileSize: number; +} + +const TiledLayerConductor: react.FC = ( + props: TiledLayerConductorProperties +) => { + const nbTiles = + Math.ceil((Math.max(props.width, props.height) * 2) / 256) + 2; + + return ( + <> + {' '} + + = Math.SQRT2 && props.zoom < 2 * Math.SQRT2} + /> + = 2 * Math.SQRT2} + /> + + ); +}; + +export default TiledLayerConductor;