Witaj w świecie cudownych widoków z całej Polski ❤️

usiądź wygodnie, znajdź swoją ulubioną kamerę... zainspiruj się i pojedź. ponad 500 kamer do zobaczenia.

Chwytaj magiczne momenty z kamer i oglądaj Polskę

ZAKOPANE - widok z kamery na deptak

KRUPÓWKI - widok na środkową część deptaka

Bielsko-Biała Plac Wojska Polskiego - NOWOŚĆ

Bielsko-Biała Plac Wojska Polskiego NOWOŚĆ

Kamera obrotowa z widokiem na Rynek Główny w Krakowie od strony ulicy Brackiej

Kraków - widok na Rynek Główny

Widok na panoramę gór ze stacji narciarskiej Polana Szymoszkowa

Polana Szymoszkowa

Obraz na żywo na Molo i Plażę w Kołobrzegu

Kołobrzeg - widok na molo

Widok panoramiczny z Kamery na miasto Gorzów Wielkopolski - NOWOŚĆ

Gorzów Wielkopolski

Widok z pylonu na plażę, latarnię morską i kanał portowy.

USTKA - widok z pylonu na plażę

Widok z Kamery na panoramę Tatr na żywo

Kasprowy - Panorama

Widok na plażę w Chłapowie

Chłapowo - widok na plażę NOWOŚĆ

Była kaszubska osada rybacka przynależna niegdyś do kaszteli słupskiej.

USTKA - widok na plażę

Widok z kamery na Jezioro Solińskie w Bieszczadach.

Solina Grupa PKL - Zapora Wodna w Solinie

Widok z Kamery na Plac Łokietka w Lublinie

LUBLIN - widok na Bramę Krakowską

POZNAŃ - widok na Stary Rynek

POZNAŃ - Stary Rynek

Gdańsk - widok na Długi Targ NOWOŚĆ

Gdańsk - widok na Długi Targ NOWOŚĆ

Obraz na Pałac Kultury i Nauki w Warszawie na żywo

WARSZAWA

Widok z Kamery na Stary Rynek w Rzeszowie na żywo

Rzeszów - Stary Rynek i Ratusz

Pobierz aplikację na zimę
 
Pobierz aplikację na lato
 

WebCamera Media Sp. z o.o.
ul. św. Filipa 23/4
31-150 Kraków

tel. +48 12 442 01 86

webcamera@webcamera.pl

"WEBCAMERA.PL"
ul. Floriańska 9A
34-120 Andrychów


ll.id); this.items = [...left]; }); this.itemsToKill = []; /* if (!this.items.length) this.spawnNotes(); else this.spawnNotes(this.random(0,1,true)); */ },note.killTime); } } shiftNotes() { this.items.forEach((item,i) => { const transY = 100 * i; item.el.style.transform = `translateY(${transY}%)`; }); } random(min,max,round = false) { const percent = crypto.getRandomValues(new Uint32Array(1))[0] / 2**32; const relativeValue = (max - min) * percent; return min + (round === true ? Math.round(relativeValue) : +relativeValue.toFixed(2)); } } class NotificationMessage { constructor(args) { this.args = args; this.el = null; this.id = null; this.killTime = 300; this.init(args); } init(args) { const {id,icon,title,subtitle,actions} = args; const block = "notification"; const parent = document.body; const xmlnsSVG = "http://www.w3.org/2000/svg"; const xmlnsUse = "http://www.w3.org/1999/xlink"; const note = this.newEl("div"); note.id = id; note.className = block; parent.insertBefore(note,parent.lastElementChild); //alert(parent); const box = this.newEl("div"); box.className = `${block}__box`; note.appendChild(box); const content = this.newEl("div"); content.className = `${block}__content`; box.appendChild(content); const _icon = this.newEl("div"); _icon.className = `${block}__icon`; content.appendChild(_icon); const iconSVG = this.newEl("svg",xmlnsSVG); iconSVG.setAttribute("class",`${block}__icon-svg`); iconSVG.setAttribute("role","img"); iconSVG.setAttribute("aria-label",icon); iconSVG.setAttribute("width","32px"); iconSVG.setAttribute("height","32px"); _icon.appendChild(iconSVG); const iconUse = this.newEl("use",xmlnsSVG); iconUse.setAttributeNS(xmlnsUse,"href",`#${icon}`); iconSVG.appendChild(iconUse); const text = this.newEl("div"); text.className = `${block}__text`; content.appendChild(text); const _title = this.newEl("div"); _title.className = `${block}__text-title`; _title.textContent = title; text.appendChild(_title); if (subtitle) { const _subtitle = this.newEl("div"); _subtitle.className = `${block}__text-subtitle`; _subtitle.textContent = subtitle; text.appendChild(_subtitle); } const btns = this.newEl("div"); btns.className = `${block}__btns`; box.appendChild(btns); actions.forEach(action => { if (action == "No") { const btn = this.newEl("button"); btn.className = `${block}__btn`; btn.type = "button"; btn.setAttribute("data-dismiss",id); btn.classList.add("pushdeny"); const btnText = this.newEl("i"); btnText.className = 'fas fa-times'; btnText.setAttribute("data-accept",'no'); btn.appendChild(btnText); btns.appendChild(btn); } if (action == "Yes") { const btn = this.newEl("button"); btn.className = `${block}__btn`; btn.classList.add("pushaccept"); btn.type = "button"; const btnText = this.newEl("i"); btnText.className = 'fas fa-check-circle'; btnText.setAttribute("data-dismiss",id); btnText.setAttribute("data-accept",'yes'); btn.appendChild(btnText); btns.appendChild(btn); } }); this.el = note; this.id = note.id; } newEl(elName,NSValue) { if (NSValue) return document.createElementNS(NSValue,elName); else return document.createElement(elName); } } function NotificationMessages() { return [ { icon: "notificationicon", title: "Bądź na bieżąco!", subtitle: "Czy chcesz otrzymywać powiadomienia o naszych kamerach, promocjach i nowościach w serwisie?", actions: ["Yes","No"] } ]; }