Skip to content

Commit

Permalink
detect relative URL pmtiles correctly [#152] (#155)
Browse files Browse the repository at this point in the history
* detect relative URL pmtiles correctly [#152]

* put in a placeholder URL to let URL() parse relative URLs without http prefix.

* js 3.1.2; update changelog

* fix examples
  • Loading branch information
bdon authored May 9, 2024
1 parent e638dff commit fc1b260
Show file tree
Hide file tree
Showing 17 changed files with 30 additions and 19 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# 3.1.2
* Fix pmtiles URL detection on relative paths [#152]

# 3.1.1
* Detect pmtiles URLs by using URL parsing, which handles query parameters [#147]

# 3.1.0
* add `queryTileFeaturesDebug` back in for basic interactions (You should use MapLibre if you want interactivity)

# 3.0.0

* Unexport `PMTiles` because you shouldn't be depending on the one bundled in this library.
Expand Down
2 changes: 1 addition & 1 deletion benchmark/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="pixelmatch.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
html {
Expand Down
2 changes: 1 addition & 1 deletion examples/comparison.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/maplibre-gl.css" crossorigin="anonymous">
<script src="https://unpkg.com/[email protected]/dist/maplibre-gl.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/@maplibre/[email protected]/leaflet-maplibre-gl.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<style>
#parent {
display:flex;
Expand Down
2 changes: 1 addition & 1 deletion examples/fonts.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://unpkg.com/[email protected]/leaflet-hash.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->

<link href="https://fonts.googleapis.com/css2?family=Inter:[email protected]&family=Work+Sans:[email protected]&family=Petrona:[email protected]&family=Raleway:[email protected]" rel="stylesheet">
Expand Down
2 changes: 1 addition & 1 deletion examples/inset.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
#map {
Expand Down
2 changes: 1 addition & 1 deletion examples/labels.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://unpkg.com/[email protected]/leaflet-hash.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
body, #map {
Expand Down
2 changes: 1 addition & 1 deletion examples/leaflet.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://unpkg.com/[email protected]/leaflet-hash.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
body, #map {
Expand Down
2 changes: 1 addition & 1 deletion examples/multi_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://unpkg.com/[email protected]/leaflet-hash.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
body, #map {
Expand Down
2 changes: 1 addition & 1 deletion examples/pmtiles.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
body, #map {
Expand Down
2 changes: 1 addition & 1 deletion examples/pmtiles_headers.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://unpkg.com/[email protected]/dist/pmtiles.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
body, #map {
Expand Down
2 changes: 1 addition & 1 deletion examples/sandwich.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://unpkg.com/[email protected]/leaflet-hash.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
body, #map {
Expand Down
2 changes: 1 addition & 1 deletion examples/sprites.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://unpkg.com/[email protected]/leaflet-hash.js"></script>
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
body, #map {
Expand Down
2 changes: 1 addition & 1 deletion examples/static.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://unpkg.com/[email protected].1/dist/protomaps-leaflet.min.js"></script>
<script src="https://unpkg.com/[email protected].2/dist/protomaps-leaflet.min.js"></script>
<!-- <script src="../dist/protomaps-leaflet.js"></script> -->
<style>
#map {
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "protomaps-leaflet",
"version": "3.1.1",
"version": "3.1.2",
"files": [
"dist",
"src"
Expand Down
5 changes: 1 addition & 4 deletions src/view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -241,10 +241,7 @@ export const sourcesToViews = (options: SourceOptions) => {
const maxDataZoom = o.maxDataZoom || 15;
let source: TileSource;
if (typeof o.url === "string") {
if (
o.url.startsWith("http") &&
new URL(o.url).pathname.endsWith(".pmtiles")
) {
if (new URL(o.url, "http://example.com").pathname.endsWith(".pmtiles")) {
source = new PmtilesSource(o.url, true);
} else {
source = new ZxySource(o.url, true);
Expand Down
5 changes: 5 additions & 0 deletions test/view.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,8 @@ test("sources to views with pmtiles parameters", async () => {
const v = sourcesToViews({ url: "http://example.com/foo.pmtiles?k=v" });
assert.ok(v.get("").tileCache.source instanceof PmtilesSource);
});

test("sources to views local param", async () => {
const v = sourcesToViews({ url: "foo.pmtiles" });
assert.ok(v.get("").tileCache.source instanceof PmtilesSource);
});

0 comments on commit fc1b260

Please sign in to comment.