OSMTileProxy 是來自 Openstreetmap 或其他地圖圖塊提供者的地圖圖塊的快取代理。
它公開端點 /tiles/{provider}/{level:int}/{x:int}/{y:int} 傳回給定圖塊座標的圖片。首先,它從提供者加載一個圖塊,將其儲存到磁碟快取中,然後使用該映像直到其過期。
appsettings.json
中的設定部分Tiles
包含代理程式和快取所需的所有內容。
"Tiles": {
"Cache": "/var/www/tiles",
"Providers": [
{
"Id": "osm",
"Url": "https://tile.openstreetmap.org/{0}/{1}/{2}.png",
"UserAgent": "Your-user-agent",
"ContentType": "image/png",
"UseWebp": false,
"MinZoom": 1,
"MaxZoom": 19
}
]
}
下面是各部分參數的解釋。
Cache
- 快取圖塊的資料夾,在開發配置appsettings.Development.json
中為 c:temptiles,確保 c:temp 存在或指定其他位置。
Providers
- 提供者參數數組。
Providers:[i]:Id
- 提供者的任意標識符,在端點中使用,例如 /osm/2/1/1。
Providers:[i]:Url
- 提供程式端點模式,其中 {0} 是層級(地圖縮放),{1} - 圖塊的 x 座標,{2} - 圖塊的 y 座標。
Providers:[i]:UserAgent
- 對於 Openstreetmap 服務是必要的,指定您唯一的使用者代理程式。
Providers:[i]:ContentType
- 回應中 Content-Type 標頭的值,當UseWebp
(見下文)為true
時,此標頭始終設定為 image/webp。
Providers:[i]:UseWebp
- 可選參數(預設值為false
)。當true
時,OSMTileProxy 將平鋪影像轉換為 webp 格式。
Providers:[i]:MinZoom
- 可選參數(預設值為 1)。指定圖塊提供者的最小縮放級別,用於驗證。
Providers:[i]:MaxZoom
- 可選參數(預設值為 19)。指定圖塊提供者的最大縮放級別,用於驗證。
如果部署為 docker 容器,請將快取目錄綁定到您的容器,例如
docker run -p 8080:8080 --name osmtileproxy -v /var/www/tiles:/var/www/tiles -d osmtileproxy:latest