مربّعات الخرائط هي ببساطة تقسيم العالم إلى شبكة مفهرسة. ويتيح لك ذلك الوصول إلى بيانات الخريطة واستخدامها بكفاءة وديناميكية
على مقاييس رسم خرائط متعددة. تتيح لك واجهة برمجة تطبيقات Map Tiles API الوصول إلى العديد من مجموعات البيانات الجغرافية الموضوعية، بما في ذلك البيانات المنظَّمة من Google:
مربعات صور خارطة الطريق استنادًا إلى البيانات الطبوغرافية المتجهة باستخدام نمط رسم الخرائط من Google.
التصوير العظيم يتم التقاطه بواسطة كاميرات الأقمار الصناعية والكاميرات المحمول جوًا لتقديم صور من أعلى لأسفل (القدم) للأرض.
خرائط محيطية لتظليل التلال.
تمت الإشارة إلى جميع مربعات الخرائط ثنائية الأبعاد ومحاذاتها مع بعضها البعض. يتم تحديدها بناءً على الامتداد الجغرافي لإطار العرض ومستوى التكبير/التصغير. تتراوح مستويات التكبير/التصغير من صفر (لعرض العالم بأكمله) إلى 22 (لعرض الشوارع والمباني).
سمات الخريطة
يمكنك الحصول على مربّعات خرائط لمظاهر الخرائط التالية.
مظهر الخريطة | الوصف |
---|---|
خارطة الطريق | الطرق والمباني ونقاط الاهتمام والحدود السياسية |
القمر الصناعي | صور فوتوغرافية تم التقاطها من الفضاء |
التضاريس | خريطة محيطة تعرض الميزات الطبيعية، مثل النباتات |
لطلب مربّعات الخرائط من API Tiles API، يجب أولاً طلب رمز مميّز للجلسة. يتتبع الرمز المميز للجلسة
الحالة الحالية لخريطتك وإطار العرض. عند إعداد الرمز المميّز للجلسة، عليك ضبط القيمة mapType
لمطابقة مظهر الخريطة الذي تريده.
بعد ذلك، يجب عليك تضمين الرمز المميز للجلسة في كل من طلباتك إلى Map Tiles API.
طلبات معلومات إطار العرض
يحدد إطار العرض حجم المربع الذي يحدد المشهد العالمي. تطلب معلومات إطار العرض تفاصيل حول مربعات الخرائط التي تشكل إطار العرض الحالي. السبب في طلب معلومات إطار العرض هو التأكد من تجنب طلب الصور بمستويات تكبير/تصغير غير موجودة.
على سبيل المثال، تمتلك معظم المدن صورًا عند مستوى التكبير/التصغير 22، ولكن ليس المحيط حيث سينتهي بها الأمر بعرض مربعات زرقاء غير مميزة.
طلب إطار العرض هو طلب HTTPS GET في النموذج التالي.
curl "https://tile.googleapis.com/tile/v1/viewport?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &zoom=zoom &north=north &south=south &east=east &west=west"
ويحتوي الطلب على الحقول التالية:
zoom
- مستوى تكبير/تصغير إطار العرض
north
وsouth
وeast
وwest
- نقطتان إلى أقصى الشمال والجنوب والشرق والغرب في إطار العرض، معبرًا عنها بالدرجات. يجب أن يكون الشمال والجنوب في النطاق (-90,90)، ويجب أن يكون الشرق والغرب في النطاق (-180، 180). للتعبير عن الحدود التي تعبر خط الطول، يمكن أن يكون الغرب موجبًا (على سبيل المثال، 170) ويمكن أن يكون الشرق سالبًا (على سبيل المثال، -170). جميع المعلَمات مطلوبة.
استجابات معلومات إطار العرض
توضّح لك استجابة إطار العرض المناطق التي تحتوي على صور ومستويات التكبير أو التصغير. تكون استجابة معلومات إطار العرض بالشكل التالي.
{
"copyright": "Map data ©2023",
"maxZoomRects": [
{
"maxZoom": 19,
"north": 90,
"south": -90,
"east": 180,
"west": -180
},
{
"maxZoom": 9,
"north": 90,
"south": -90,
"east": 180,
"west": -180
},
{
"maxZoom": 14,
"north": 84.375,
"south": -84.375,
"east": 180,
"west": -180
}, ...
]
}
يحتوي نص الاستجابة على الحقول التالية.
copyright
- تحتوي على سلسلة إحالة يجب عرضها على خريطتك عند عرض خارطة الطريق ومربّعات القمر الصناعي. لمزيد من المعلومات، يمكنك الاطّلاع على سياسات واجهة برمجة تطبيقات Map Tiles.
maxZoomRect
- يحتوي على مصفوفة من مستطيلات الإحاطة التي تتداخل مع إطار العرض الحالي. يحتوي أيضًا على أقصى مستوى متاح للتكبير/التصغير داخل كل مستطيل.
دوال الإحداثيات المتجانبة
تتوفر الأدوات (دوال بسيطة) في معظم لغات البرمجة للتحويل من أزواج خطوط الطول/العرض إلى إحداثيات المربعات عند مستوى تكبير/تصغير محدد.
لنأخذ في الاعتبار مثال رمز JavaScript التالي الذي يحوّل أولاً من
latLng
إلى نقطة، ثم من نقطة إلى إحداثيات.
var TILE_SIZE = 256;
function fromLatLngToPoint(latLng) {
var mercator = -Math.log(Math.tan((0.25 + latLng.lat() / 360) * Math.PI));
return {
x: TILE_SIZE * (latLng.lng() / 360 + 0.5),
y: TILE_SIZE / 2 * (1 + mercator / Math.PI)
};
}
function fromLatLngToTileCoord(latLng, zoom) {
var point = fromLatLngToPoint(latLng);
var scale = Math.pow(2, zoom);
return {
x: Math.floor(point.x * scale / TILE_SIZE),
y: Math.floor(point.y * scale / TILE_SIZE),
z: zoom
};
}