0
Koodi Прогрес
Поточний:0 днів
Рекорд:0 днів
Без активності
Активний день
Сьогодні
🆓 FREE PROJECT

🗺️ Урок 6: Карта з маршрутом

🗺️ Бачиш де їде твоє таксі?

Відкриваєш Bolt — і бачиш карту з маршрутом! Як це працює?

🖼️ iframe — вікно в інший світ (Google Maps)

🔗 src — адреса того світу

✨ JavaScript — змінює адресу = змінює карту!

Сьогодні ми вбудовуємо СПРАВЖНЮ карту! 🚖

💡
А ТИ ЗНАВ?

🗺️ Google Maps вбудовано на понад 5 мільйонів сайтів!
🚕 Bolt та Uber показують карти саме через iframe або Maps SDK
🔐 encodeURIComponent() — захист від XSS атак та помилок URL!

😂 Жарт для розігріву!
Чому програміст не може знайти дорогу додому?
Бо забув викликати encodeURIComponent() для своєї адреси! 🗺️😅
📱 ЖИВИЙ ДОДАТОК
Спробуй маршрут на карті!
9:41 🔋 100%
🗺️ МАРШРУТ
🗺️
Натисни кнопку для карти

👆 Введи адреси → натисни "Показати маршрут" → побачиш карту!

🖼️

Що таке iframe?

iframe (inline frame) — це вікно в інший сайт прямо на твоїй сторінці!

Через src атрибут ти вказуєш адресу сайту. Змінюєш src через JavaScript — і вікно показує інший контент!

iframe src 🗺️ Maps API
📺
iframe — це телевізор у стіні
Уяви: у твоїй кімнаті є вікно-телевізор. Через нього ти бачиш інший світ (Google Maps).

src — це пульт! Змінюєш канал (адресу) — змінюється картинка.

А encodeURIComponent() — це перекладач, який перетворює "вул. Хрещатик, 22" на мову URL: вул.%20Хрещатик%2C%2022
🔬
Анатомія iframe
Натисни на частини коду щоб дізнатись більше
<iframe
id="mapFrame"
src="https://maps.google.com/..."
width="100%"
height="300"
loading="lazy"
></iframe>
Натисни на рядок коду щоб побачити пояснення!
🔗
URL для карти
Натисни на частини URL щоб зрозуміти структуру
https://maps.google.com/maps ? q = Київ & output = embed
Натисни на частину URL щоб побачити пояснення!
🔐
encodeURIComponent()
Перетворює текст у безпечний URL
Оригінал:
Київ, Хрещатик 22
Закодовано:
1
iframe — вікно в інший світ
📺
iframe — це як телевізор на стіні. Він показує контент з іншого сайту прямо на твоїй сторінці. Атрибут src — це канал (адреса)!
Напиши цей код:
<!-- Вбудована карта --> <iframe id="mapFrame" width="100%" height="300" style="border:0" loading="lazy" src="https://maps.google.com/maps?q=Kyiv&output=embed" ></iframe>
Що тут відбувається:
iframe — створює вікно для іншого сайту
src — адреса Google Maps з параметрами
loading="lazy" — завантажує коли з'явиться на екрані (економія ресурсів!)
?q=Kyiv — пошуковий запит (що показати на карті)
&output=embed — режим вбудовування
🧪 Тест: loading="lazy" означає...
2
encodeURIComponent() — безпека URL
🔐
URL не розуміє пробіли та кирилицю! encodeURIComponent() — це перекладач, який перетворює "Київ, Хрещатик" на %D0%9A%D0%B8%D1%97%D0%B2. Без цього URL зламається!
Напиши цей код:
// Отримуємо адресу від користувача const address = "Київ, Хрещатик 22"; // Кодуємо для безпечного URL const encoded = encodeURIComponent(address); console.log(encoded); // Результат: %D0%9A%D0%B8%D1%97%D0%B2%2C%20%D0%A5%D1%80%D0%B5%D1%89%D0%B0%D1%82%D0%B8%D0%BA%2022
Навіщо кодувати?
• Пробіли стають %20
• Коми стають %2C
• Кирилиця кодується в %D0%...
• Це захищає від XSS атак та помилок URL!
🧪 Тест: encodeURIComponent() потрібен щоб...
3
Динамічна зміна карти через JS
🎮
Змінюєш src у iframe через JavaScript — і карта миттєво оновлюється! Це як переключення каналів на пульті. Один клік — нова карта!
Напиши цей код:
// Знаходимо елементи const mapFrame = document.getElementById('mapFrame'); const fromInput = document.getElementById('fromAddress'); const toInput = document.getElementById('toAddress'); const showBtn = document.getElementById('showRoute'); // Обробник кліку showBtn.addEventListener('click', function() { // Кодуємо адреси const from = encodeURIComponent(fromInput.value); const to = encodeURIComponent(toInput.value); // Будуємо URL з маршрутом const mapUrl = 'https://maps.google.com/maps?saddr=' + from + '&daddr=' + to + '&output=embed'; // Оновлюємо iframe mapFrame.src = mapUrl; });
Що тут відбувається:
saddr — start address (звідки)
daddr — destination address (куди)
mapFrame.src = mapUrl — змінюємо адресу iframe
• Карта автоматично перезавантажується з новим маршрутом!
🧪 Тест: Для зміни карти через JS потрібно змінити...

🏆 Що ти вивчив:

iframe — вбудовувати зовнішній контент
Google Maps Embed — вбудовувати карту
encodeURIComponent() — безпечно кодувати URL
element.src — динамічно змінювати карту

✅ Коли все працює:

Натисни "Готово" в редакторі!

⏱️ ~20 хв • Урок 6 з 8

Потрібна допомога?

💡 Підказка
🤖 AI-KOODI
HTML index.html ✏️
CSS style.css
JS app.js
1 2 3 4 5 6 7 8 9 10
localhost/taxi-map.html
🗺️

Напиши код і натисни Run ▶