# πŸ—ΊοΈ Как Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΌΠΈΡ€Π° Π½Π° свою ## Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свой Ρ„Π°ΠΉΠ» изобраТСния 1. ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» с ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ ΠΌΠΈΡ€Π° Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, `world-map.jpg` ΠΈΠ»ΠΈ `world-map.png`) 2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» `map.js` ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ строку 26: ```javascript this.mapImage.src = 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Equirectangular_projection_SW.jpg/1280px-Equirectangular_projection_SW.jpg'; ``` 3. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π°: ```javascript this.mapImage.src = 'world-map.jpg'; // ΠΈΠ»ΠΈ вашС имя Ρ„Π°ΠΉΠ»Π° ``` ## Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ URL Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°. НапримСр: ```javascript // ЀизичСская ΠΊΠ°Ρ€Ρ‚Π° this.mapImage.src = 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Equirectangular_projection_SW.jpg/1280px-Equirectangular_projection_SW.jpg'; // ΠŸΠΎΠ»ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΊΠ°Ρ€Ρ‚Π° this.mapImage.src = 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/91/Mercator_projection_SW.jpg/1280px-Mercator_projection_SW.jpg'; // ΠšΠ°Ρ€Ρ‚Π° Π±Π΅Π· подписСй this.mapImage.src = 'https://eoimages.gsfc.nasa.gov/images/imagerecords/73000/73909/world.topo.bathy.200412.3x5400x2700.jpg'; ``` ## Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠ°Ρ€Ρ‚Π΅ ### Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: - **Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:** 1280x640 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅ - **Π€ΠΎΡ€ΠΌΠ°Ρ‚:** JPG ΠΈΠ»ΠΈ PNG - **ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ:** РавнопромСТуточная (Equirectangular) - **Π‘Π΅Π· тСкста:** Π›ΡƒΡ‡ΡˆΠ΅ ΠΊΠ°Ρ€Ρ‚Π° Π±Π΅Π· подписСй стран ### Π“Π΄Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹: 1. **Wikimedia Commons** - https://commons.wikimedia.org/wiki/Category:World_maps 2. **Natural Earth** - https://www.naturalearthdata.com/ 3. **NASA Visible Earth** - https://visibleearth.nasa.gov/ ## Настройка полоТСния Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ Если ΠΊΠ°Ρ€Ρ‚Π° отличаСтся ΠΎΡ‚ стандартной, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ потрСбуСтся ΡΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ `data.js`. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² пиксСлях: ```javascript { id: 'moscow', name: 'Москва', x: 640, y: 180, ... } ``` Π“Π΄Π΅: - `x` - ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ (0 = Π»Π΅Π²Ρ‹ΠΉ ΠΊΡ€Π°ΠΉ, 1100 = ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΊΡ€Π°ΠΉ) - `y` - ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ (0 = Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΡ€Π°ΠΉ, 600 = Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΡ€Π°ΠΉ) ## ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Ρ‚Π΅ΠΌΠ½Π΅Π½ΠΈΠ΅ Если ΠΊΠ°Ρ€Ρ‚Π° слишком свСтлая ΠΈΠ»ΠΈ тСмная, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π°Ρ‚Π΅ΠΌΠ½Π΅Π½ΠΈΠ΅ Π² `map.js` (строка 91): ```javascript // Π£Π±Ρ€Π°Ρ‚ΡŒ Π·Π°Ρ‚Π΅ΠΌΠ½Π΅Π½ΠΈΠ΅ // ctx.fillStyle = 'rgba(255, 255, 255, 0.1)'; // ctx.fillRect(0, 0, this.canvas.width, this.canvas.height); // Или ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ (0.1 = слабоС, 0.5 = сильноС) ctx.fillStyle = 'rgba(255, 255, 255, 0.2)'; ``` ## Π Π°Π·ΠΌΠ΅Ρ€ canvas Π Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°Ρ€Ρ‚Ρ‹ автоматичСски подстраиваСтся ΠΏΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π°, Π½ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ рассчитаны Π½Π°: - Π¨ΠΈΡ€ΠΈΠ½Π°: 1100px - Высота: 600px Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ.