OSMTileProxy هو وكيل للتخزين المؤقت لبلاطات الخرائط من Openstreetmap أو أي مزود آخر لبلاطات الخرائط.
يعرض نقطة النهاية /tiles/{provider}/{level:int}/{x:int}/{y:int} ويعيد صورة لإحداثيات البلاط المحددة. يقوم أولاً بتحميل مربع من الموفر، ويخزنه في ذاكرة التخزين المؤقت على القرص، ثم يستخدم هذه الصورة حتى تنتهي صلاحيتها.
يحتوي قسم التكوين في Tiles
appsettings.json
على كل ما هو مطلوب للخادم الوكيل والتخزين المؤقت.
"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
- قيمة رأس نوع المحتوى استجابةً، عندما يكون UseWebp
(انظر أدناه) true
، يتم تعيين هذا الرأس دائمًا على image/webp.
Providers:[i]:UseWebp
- معلمة اختيارية (القيمة الافتراضية false
). عندما يكون true
، يقوم OSMTileProxy بتحويل صور التجانب إلى تنسيق webp.
Providers:[i]:MinZoom
- معلمة اختيارية (القيمة الافتراضية هي 1). يحدد الحد الأدنى لمستوى التكبير/التصغير لموفر التجانبات، المستخدم للتحقق من الصحة.
Providers:[i]:MaxZoom
- معلمة اختيارية (القيمة الافتراضية هي 19). يحدد الحد الأقصى لمستوى التكبير/التصغير لموفر البلاط، المستخدم للتحقق من الصحة.
إذا تم نشرها كحاوية عامل إرساء، فاربط دليل ذاكرة التخزين المؤقت بحاويتك، على سبيل المثال
docker run -p 8080:8080 --name osmtileproxy -v /var/www/tiles:/var/www/tiles -d osmtileproxy:latest