cloudflare
tcp/443 tcp/80 tcp/8443
Open service 192.71.82.2:8443 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 200 OK
Date: Sat, 24 Jan 2026 16:45:30 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1743
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "305c3d33f3919951aac7038d5309bba5"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=9keq5XjXZCPnilUWD0379u18O%2BfqYSocUNQpYxZitMyu1WwYoInZDB8WZ4tCFIq4zguwySURMdv9wp5%2BFFJDr7EN04mcZMh0Gl31gjvuRmk%2BIkW8s74%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c310066ba668e1f-SJC
alt-svc: h3=":8443"; ma=86400
Page title: R2-Hosted PMTiles + City Markers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>R2-Hosted PMTiles + City Markers</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- MapLibre GL CSS -->
<link
href="https://unpkg.com/maplibre-gl@3.6.0/dist/maplibre-gl.css"
rel="stylesheet"
/>
<style>
html, body, #map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="module">
import maplibregl from "https://cdn.skypack.dev/maplibre-gl@^3.6.0";
import { Protocol } from "https://cdn.skypack.dev/pmtiles@^3.1.3";
// 1) Register the pmtiles:// protocol
const protocol = new Protocol();
maplibregl.addProtocol("pmtiles", protocol.tile);
// 2) Initialize the MapLibre map pointing at style.json
const map = new maplibregl.Map({
container: "map",
style: "./style.json",
center: [18.0, 58.0], // centered roughly over Scandinavia/Poland/UK
zoom: 3
});
map.addControl(new maplibregl.NavigationControl());
// 3) Add fixed markers once the style is loaded
map.on("load", () => {
const cities = [
{ name: "Stockholm", coords: [18.0686, 59.3293] },
{ name: "Helsingborg", coords: [12.6945, 56.0465] },
{ name: "Helsinki", coords: [24.9384, 60.1699] },
{ name: "London", coords: [-0.1278, 51.5074] },
{ name: "Gdańsk", coords: [18.6466, 54.3520] }
];
for (const { name, coords } of cities) {
new maplibregl.Marker()
.setLngLat(coords)
.setPopup(new maplibregl.Popup({ offset: 25 }).setText(name))
.addTo(map);
}
});
</script>
</body>
</html>
Open service 192.71.82.2:80 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 301 Moved Permanently
Date: Sat, 24 Jan 2026 16:45:29 GMT
Content-Length: 0
Connection: close
Location: https://pmtiles-test.pages.dev/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gqqT9%2FN357REM6beo%2FPRyVUna3fCeIYzqbLSpYoRoYbJ6Qkdiafjt%2F0tNeb2HbJlRtr%2FQPYNhxg4UDCTBhqH3f1S9FIBEDHczae%2ByF9ClYugjL4OTVQ%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c3100658a4c60e5-AMS
alt-svc: h3=":443"; ma=86400
Open service 192.71.82.2:443 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 200 OK
Date: Sat, 24 Jan 2026 16:45:30 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1743
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "305c3d33f3919951aac7038d5309bba5"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gk3wj%2BDH6q%2FSrpUywSezezx7T6XsVlsr0f2zxDN9WwxxMuQ2e27V9rW3R4p8cCEfjOSBpaL0oOvza%2F6VFYuk23zCM33CqecOzi1NYnN9qShjdNCb2sU%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c310066add628c9-EWR
alt-svc: h3=":443"; ma=86400
Page title: R2-Hosted PMTiles + City Markers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>R2-Hosted PMTiles + City Markers</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- MapLibre GL CSS -->
<link
href="https://unpkg.com/maplibre-gl@3.6.0/dist/maplibre-gl.css"
rel="stylesheet"
/>
<style>
html, body, #map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="module">
import maplibregl from "https://cdn.skypack.dev/maplibre-gl@^3.6.0";
import { Protocol } from "https://cdn.skypack.dev/pmtiles@^3.1.3";
// 1) Register the pmtiles:// protocol
const protocol = new Protocol();
maplibregl.addProtocol("pmtiles", protocol.tile);
// 2) Initialize the MapLibre map pointing at style.json
const map = new maplibregl.Map({
container: "map",
style: "./style.json",
center: [18.0, 58.0], // centered roughly over Scandinavia/Poland/UK
zoom: 3
});
map.addControl(new maplibregl.NavigationControl());
// 3) Add fixed markers once the style is loaded
map.on("load", () => {
const cities = [
{ name: "Stockholm", coords: [18.0686, 59.3293] },
{ name: "Helsingborg", coords: [12.6945, 56.0465] },
{ name: "Helsinki", coords: [24.9384, 60.1699] },
{ name: "London", coords: [-0.1278, 51.5074] },
{ name: "Gdańsk", coords: [18.6466, 54.3520] }
];
for (const { name, coords } of cities) {
new maplibregl.Marker()
.setLngLat(coords)
.setPopup(new maplibregl.Popup({ offset: 25 }).setText(name))
.addTo(map);
}
});
</script>
</body>
</html>
Open service 192.71.82.4:8443 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 200 OK
Date: Sat, 24 Jan 2026 16:45:29 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1743
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "305c3d33f3919951aac7038d5309bba5"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=KTVE98O%2BanrmLG2A6CZadNzYDd5lZ78ZoPs9u%2Flq6%2BeolNpBMgFcBYMQLrsah8gTABEEiUqK7w7OORKK5ajJprd73ir4TYn8%2F%2Bcr7g%2B7qrVUbnC11Lc%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c31006549ed3896-YYZ
alt-svc: h3=":8443"; ma=86400
Page title: R2-Hosted PMTiles + City Markers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>R2-Hosted PMTiles + City Markers</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- MapLibre GL CSS -->
<link
href="https://unpkg.com/maplibre-gl@3.6.0/dist/maplibre-gl.css"
rel="stylesheet"
/>
<style>
html, body, #map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="module">
import maplibregl from "https://cdn.skypack.dev/maplibre-gl@^3.6.0";
import { Protocol } from "https://cdn.skypack.dev/pmtiles@^3.1.3";
// 1) Register the pmtiles:// protocol
const protocol = new Protocol();
maplibregl.addProtocol("pmtiles", protocol.tile);
// 2) Initialize the MapLibre map pointing at style.json
const map = new maplibregl.Map({
container: "map",
style: "./style.json",
center: [18.0, 58.0], // centered roughly over Scandinavia/Poland/UK
zoom: 3
});
map.addControl(new maplibregl.NavigationControl());
// 3) Add fixed markers once the style is loaded
map.on("load", () => {
const cities = [
{ name: "Stockholm", coords: [18.0686, 59.3293] },
{ name: "Helsingborg", coords: [12.6945, 56.0465] },
{ name: "Helsinki", coords: [24.9384, 60.1699] },
{ name: "London", coords: [-0.1278, 51.5074] },
{ name: "Gdańsk", coords: [18.6466, 54.3520] }
];
for (const { name, coords } of cities) {
new maplibregl.Marker()
.setLngLat(coords)
.setPopup(new maplibregl.Popup({ offset: 25 }).setText(name))
.addTo(map);
}
});
</script>
</body>
</html>
Open service 192.71.82.3:8443 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 200 OK
Date: Sat, 24 Jan 2026 16:45:29 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1743
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "305c3d33f3919951aac7038d5309bba5"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=vKn3apltOoMsDSRQVF99b8qeYQELOaEXabD4xTkcefV%2B3HJK6eaTKW8mZZhhLLplHrtGYjbYwTqSHH7tTbOTmYSUAdD6th%2F8EKUkVuwLJp7N4uJ928k%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c31006578d39765-FRA
alt-svc: h3=":8443"; ma=86400
Page title: R2-Hosted PMTiles + City Markers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>R2-Hosted PMTiles + City Markers</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- MapLibre GL CSS -->
<link
href="https://unpkg.com/maplibre-gl@3.6.0/dist/maplibre-gl.css"
rel="stylesheet"
/>
<style>
html, body, #map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="module">
import maplibregl from "https://cdn.skypack.dev/maplibre-gl@^3.6.0";
import { Protocol } from "https://cdn.skypack.dev/pmtiles@^3.1.3";
// 1) Register the pmtiles:// protocol
const protocol = new Protocol();
maplibregl.addProtocol("pmtiles", protocol.tile);
// 2) Initialize the MapLibre map pointing at style.json
const map = new maplibregl.Map({
container: "map",
style: "./style.json",
center: [18.0, 58.0], // centered roughly over Scandinavia/Poland/UK
zoom: 3
});
map.addControl(new maplibregl.NavigationControl());
// 3) Add fixed markers once the style is loaded
map.on("load", () => {
const cities = [
{ name: "Stockholm", coords: [18.0686, 59.3293] },
{ name: "Helsingborg", coords: [12.6945, 56.0465] },
{ name: "Helsinki", coords: [24.9384, 60.1699] },
{ name: "London", coords: [-0.1278, 51.5074] },
{ name: "Gdańsk", coords: [18.6466, 54.3520] }
];
for (const { name, coords } of cities) {
new maplibregl.Marker()
.setLngLat(coords)
.setPopup(new maplibregl.Popup({ offset: 25 }).setText(name))
.addTo(map);
}
});
</script>
</body>
</html>
Open service 192.71.82.4:443 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 200 OK
Date: Sat, 24 Jan 2026 16:45:30 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1743
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "305c3d33f3919951aac7038d5309bba5"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=rKoTzOK2irtiWKncPymB9e0CTFcIvSkc08VF8HdBO0TUiAZcQy7mlAoRgJ2Somx8Z3HU9z1TRzMbDcOMlR0KghPDN4rqD8vK7ZNSy2ZelolVpUaQ3zA%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c310068ab0ac9da-SIN
alt-svc: h3=":443"; ma=86400
Page title: R2-Hosted PMTiles + City Markers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>R2-Hosted PMTiles + City Markers</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- MapLibre GL CSS -->
<link
href="https://unpkg.com/maplibre-gl@3.6.0/dist/maplibre-gl.css"
rel="stylesheet"
/>
<style>
html, body, #map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="module">
import maplibregl from "https://cdn.skypack.dev/maplibre-gl@^3.6.0";
import { Protocol } from "https://cdn.skypack.dev/pmtiles@^3.1.3";
// 1) Register the pmtiles:// protocol
const protocol = new Protocol();
maplibregl.addProtocol("pmtiles", protocol.tile);
// 2) Initialize the MapLibre map pointing at style.json
const map = new maplibregl.Map({
container: "map",
style: "./style.json",
center: [18.0, 58.0], // centered roughly over Scandinavia/Poland/UK
zoom: 3
});
map.addControl(new maplibregl.NavigationControl());
// 3) Add fixed markers once the style is loaded
map.on("load", () => {
const cities = [
{ name: "Stockholm", coords: [18.0686, 59.3293] },
{ name: "Helsingborg", coords: [12.6945, 56.0465] },
{ name: "Helsinki", coords: [24.9384, 60.1699] },
{ name: "London", coords: [-0.1278, 51.5074] },
{ name: "Gdańsk", coords: [18.6466, 54.3520] }
];
for (const { name, coords } of cities) {
new maplibregl.Marker()
.setLngLat(coords)
.setPopup(new maplibregl.Popup({ offset: 25 }).setText(name))
.addTo(map);
}
});
</script>
</body>
</html>
Open service 192.71.82.3:80 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 301 Moved Permanently
Date: Sat, 24 Jan 2026 16:45:29 GMT
Content-Length: 0
Connection: close
Location: https://pmtiles-test.pages.dev/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=rUMMMu%2F%2BrkwlkxSVIPrETWrHRqGUVXJactebeTO2PfKomVzDoZLMecXG2ZlJ0fdxCrqjGUY4Mz13H%2Fqi1l8mnfqB2z%2Fk0XxGL%2FAsHNzgUZwkjUmf9Dg%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c3100654a0caff6-EWR
alt-svc: h3=":443"; ma=86400
Open service 192.71.82.4:80 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 301 Moved Permanently
Date: Sat, 24 Jan 2026 16:45:29 GMT
Content-Length: 0
Connection: close
Location: https://pmtiles-test.pages.dev/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2F9S67AIuhK4PQVUnJvBjeKgvJNcuf20CGqch89bdQdTqGH6EcISoJbyFs1LejJV7fIXikO2ApWPU0UHLDzsLY1ySZ10RNpP0EoTBm0UpujyhAtEj5XM%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c3100641e371ef7-AMS
alt-svc: h3=":443"; ma=86400
Open service 192.71.82.3:443 · pmtiles-test.pages.dev
2026-01-24 16:45
HTTP/1.1 200 OK
Date: Sat, 24 Jan 2026 16:45:29 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1743
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "305c3d33f3919951aac7038d5309bba5"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Yh5FAvTcqGeXIXgucdrlPGYRJC82pnYIluLQ1YnQB2Omi5UCIErCv5sLe0KAAavElSR%2FK80k5bYPV%2Fj%2FY%2FCkb4DSVXL1L4QtLd15j7ugJWpqbwW9jwU%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9c3100654a2d8f2e-FRA
alt-svc: h3=":443"; ma=86400
Page title: R2-Hosted PMTiles + City Markers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>R2-Hosted PMTiles + City Markers</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- MapLibre GL CSS -->
<link
href="https://unpkg.com/maplibre-gl@3.6.0/dist/maplibre-gl.css"
rel="stylesheet"
/>
<style>
html, body, #map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="module">
import maplibregl from "https://cdn.skypack.dev/maplibre-gl@^3.6.0";
import { Protocol } from "https://cdn.skypack.dev/pmtiles@^3.1.3";
// 1) Register the pmtiles:// protocol
const protocol = new Protocol();
maplibregl.addProtocol("pmtiles", protocol.tile);
// 2) Initialize the MapLibre map pointing at style.json
const map = new maplibregl.Map({
container: "map",
style: "./style.json",
center: [18.0, 58.0], // centered roughly over Scandinavia/Poland/UK
zoom: 3
});
map.addControl(new maplibregl.NavigationControl());
// 3) Add fixed markers once the style is loaded
map.on("load", () => {
const cities = [
{ name: "Stockholm", coords: [18.0686, 59.3293] },
{ name: "Helsingborg", coords: [12.6945, 56.0465] },
{ name: "Helsinki", coords: [24.9384, 60.1699] },
{ name: "London", coords: [-0.1278, 51.5074] },
{ name: "Gdańsk", coords: [18.6466, 54.3520] }
];
for (const { name, coords } of cities) {
new maplibregl.Marker()
.setLngLat(coords)
.setPopup(new maplibregl.Popup({ offset: 25 }).setText(name))
.addTo(map);
}
});
</script>
</body>
</html>