問題描述

我的目標是將世界 Map 嵌入到網頁中,但無法訪問網際網路。最好只有一組瓷磚與一些滑圖 js-lib 組合。儲存空間不是真正的問題,並且不需要最大縮放級別。

最簡單的方法是什麼?

我發現一個似乎符合賬單的專案 – Map 在一根棍子上,但似乎已經死了?

最佳解決思路

我會建議您檢視 TileMill,它是由在 「貼圖」 上工作的同一個人制作的。 TileMill 或者是 「A on Stick」(Map 上的一部分) 的一部分,或者是 「Maps On A Stick」 是什麼樣的東西。我忘了連線。無論如何…

TileMill 將允許您載入地理資料,將其設計為您喜歡的樣式,然後為各種縮放級別建立一組 PNGMap 圖塊。

TileMill 的輸出是一個.mbtiles 檔案。這只是一個儲存 PNG 的 sqlite 資料庫。如果您正在離線工作,將 png 解壓縮到一個資料夾 (使用 mbutil) 可能更容易,而不是使用 sqlite 來訪問它們。

如果您的 Map 相當簡單 (即最小的互動),建議您使用 Leaflet 作為您的 Map 庫。

在傳單中,您需要新增一個 tile layer(提示:使用 tms 而不是 xyz) 。

希望有幫助。

編輯:幾件事要注意。

1) 您應該瞭解使用任何 Map 資料的許可限制 (請參閱我對上述問題的評論) 。

2) 如果你靠近足夠看到道路等等,那麼希望有幾 GB 的瓷磚。

次佳解決思路

另一個選擇就是像 mapwingis 。不需要瓷磚,它會讀取 shapefile 。

第三種解決思路

我找到了一個名為 OpenMapTiles 的新專案,使離線 Map 更容易。

在您的機器上設定瓦片伺服器是非常容易的。安裝 Node.js(使用 npm),並按照他們的檔案中的兩個步驟:https://openmaptiles.org/docs/

您可以從他們的網站下載 Map(包括整個地球的 Map,現在是〜 44 GB):https://openmaptiles.org/downloads/

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。