إضافة طبقة تجانب إلى خريطة (Android SDK)
توضح لك هذه المقالة كيفية عرض طبقة تجانب على خريطة باستخدام خرائط Azure Android SDK. تسمح لك طبقات التجانب بتركيب الصور فوق خرائط Azure تجانبات الخريطة الأساسية. يمكن العثور على مزيد من المعلومات حول نظام التبليط خرائط Azure في وثائق مستويات التكبير/التصغير وشبكة البلاط.
يتم تحميل طبقة التجانب في تجانبات من خادم. يمكن عرض هذه الصور مسبقا وتخزينها مثل أي صورة أخرى على خادم، باستخدام اصطلاح تسمية تفهمه طبقة التجانب. أو يمكن تقديم هذه الصور باستخدام خدمة ديناميكية تقوم بإنشاء الصور في الوقت الفعلي تقريبا. هناك ثلاثة اصطلاحات مختلفة لتسمية خدمة التجانب تدعمها فئة TileLayer خرائط Azure:
- X و Y و Zoom notation - استنادا إلى مستوى التكبير/التصغير، x هو العمود و y هو موضع صف البلاط في شبكة التجانب.
- تدوين Quadkey - الجمع بين x و y وتكبير المعلومات في قيمة سلسلة واحدة تعد معرفا فريدا للوحة واحدة.
- المربع المحيط - يمكن استخدام إحداثيات المربع المحيط لتحديد صورة بالتنسيق
{west},{south},{east},{north}، والذي يستخدم عادة من قبل خدمات تعيين الويب (WMS).
تلميح
تعد طبقة البلاط طريقة رائعة لتصور مجموعات البيانات الكبيرة على الخريطة. لا يمكن إنشاء طبقة تجانب من صورة فحسب، بل يمكن أيضا تقديم البيانات الاتجاهية كطبقة تجانب أيضا. من خلال عرض البيانات الاتجاهية كطبقة تجانب، يحتاج عنصر تحكم الخريطة فقط إلى تحميل التجانبات، والتي يمكن أن تكون أصغر بكثير في حجم الملف من البيانات الاتجاهية التي تمثلها. يتم استخدام هذه التقنية من قبل العديد من الذين يحتاجون إلى عرض ملايين الصفوف من البيانات على الخريطة.
يجب أن يكون عنوان URL التجانبي الذي تم تمريره إلى طبقة تجانب عنوان URL http/https لمورد TileJSON أو قالب عنوان URL تجانب يستخدم المعلمات التالية:
{x}- X موقف البلاط. يحتاج{y}أيضا و{z}.{y}- Y موقف البلاط. يحتاج{x}أيضا و{z}.{z}- مستوى التكبير من البلاط. يحتاج{x}أيضا و{y}.{quadkey}- معرف رباعي مفاتيح البلاط استنادا إلى اصطلاح تسمية نظام البلاط خرائط Bing.{bbox-epsg-3857}- سلسلة مربعة محيطة بالتنسيق{west},{south},{east},{north}في نظام المراجع المكانية EPSG 3857.{subdomain}- عنصر نائب لقيم النطاق الفرعي، إذا تم تحديد قيمة المجال الفرعي.azmapsdomain.invalid- عنصر نائب لمحاذاة المجال ومصادقة طلبات البلاط بنفس القيم المستخدمة من قبل الخريطة. استخدم هذا عند الاتصال بخدمة لوحة يستضيفها خرائط Azure.
المتطلبات الأساسية
لإكمال العملية في هذه المقالة ، تحتاج إلى تثبيت خرائط Azure Android SDK لتحميل خريطة.
إضافة طبقة تجانب إلى الخريطة
يوضح هذا النموذج كيفية إنشاء طبقة تجانب تشير إلى مجموعة من التجانبات. يستخدم هذا النموذج نظام التبليط "x ، y ، zoom". مصدر طبقة البلاط هذه هو مشروع OpenSeaMap ، الذي يحتوي على مخططات بحرية من مصادر جماعية. في كثير من الأحيان عند عرض طبقات البلاط ، من المستحسن أن تكون قادرا على رؤية تسميات المدن بوضوح على الخريطة. يمكن تحقيق هذا السلوك عن طريق إدراج طبقة التجانب أسفل طبقات تسمية الخريطة.
TileLayer layer = new TileLayer(
tileUrl("https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png"),
opacity(0.8f),
tileSize(256),
minSourceZoom(7),
maxSourceZoom(17)
);
map.layers.add(layer, "labels");
val layer = TileLayer(
tileUrl("https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png"),
opacity(0.8f),
tileSize(256),
minSourceZoom(7),
maxSourceZoom(17)
)
map.layers.add(layer, "labels")
تعرض لقطة الشاشة التالية التعليمة البرمجية أعلاه التي تعرض طبقة تجانب من المعلومات البحرية على خريطة ذات نمط تدرج رمادي داكن.

إضافة خدمة تعيين ويب OGC (WMS)
خدمة رسم خرائط الويب (WMTS) هي معيار اتحاد جغرافي مكاني مفتوح (OGC) لخدمة صور بيانات الخريطة. هناك العديد من مجموعات البيانات المفتوحة المتاحة بهذا التنسيق والتي يمكنك استخدامها مع خرائط Azure. يمكن استخدام هذا النوع من الخدمات مع طبقة تجانب إذا كانت الخدمة تدعم نظام المرجع الإحداثي EPSG:3857 (CRS). عند استخدام خدمة WMS، قم بتعيين معلمات العرض والارتفاع إلى نفس القيمة التي تدعمها الخدمة، تأكد من تعيين هذه القيمة نفسها في الخيار tileSize . في عنوان URL المنسق، اضبط BBOX معلمة الخدمة باستخدام العنصر النائب {bbox-epsg-3857} .
TileLayer layer = new TileLayer(
tileUrl("https://mrdata.usgs.gov/services/gscworld?FORMAT=image/png&HEIGHT=1024&LAYERS=geology&REQUEST=GetMap&STYLES=default&TILED=true&TRANSPARENT=true&WIDTH=1024&VERSION=1.3.0&SERVICE=WMS&CRS=EPSG:3857&BBOX={bbox-epsg-3857}"),
tileSize(1024)
);
map.layers.add(layer, "labels");
val layer = TileLayer(
tileUrl("https://mrdata.usgs.gov/services/gscworld?FORMAT=image/png&HEIGHT=1024&LAYERS=geology&REQUEST=GetMap&STYLES=default&TILED=true&TRANSPARENT=true&WIDTH=1024&VERSION=1.3.0&SERVICE=WMS&CRS=EPSG:3857&BBOX={bbox-epsg-3857}"),
tileSize(1024)
)
map.layers.add(layer, "labels")
تظهر لقطة الشاشة التالية الرمز أعلاه الذي يتراكب مع خدمة رسم خرائط الويب للبيانات الجيولوجية من هيئة المسح الجيولوجي الأمريكية (USGS) أعلى الخريطة، أسفل التسميات.

إضافة خدمة تجانب تعيين ويب OGC (WMTS)
خدمة تجانب تعيين الويب (WMTS) هي معيار اتحاد جغرافي مكاني مفتوح (OGC) لخدمة تراكبات قائمة على البلاط للخرائط. هناك العديد من مجموعات البيانات المفتوحة المتاحة بهذا التنسيق والتي يمكنك استخدامها مع خرائط Azure. يمكن استخدام هذا النوع من الخدمات مع طبقة تجانب إذا كانت الخدمة تدعم النظام المرجعي EPSG:3857 (CRS) أو GoogleMapsCompatible الإحداثيات. عند استخدام خدمة WMTS، قم بتعيين معلمات العرض والارتفاع إلى نفس القيمة التي تدعمها الخدمة، تأكد من تعيين هذه القيمة نفسها في الخيار tileSize . في عنوان URL المنسق، استبدل العناصر النائبة التالية وفقا لذلك:
{TileMatrix}=>{z}{TileRow}=>{y}{TileCol}=>{x}
TileLayer layer = new TileLayer(
tileUrl("https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/WMTS/tile/1.0.0/USGSImageryOnly/default/GoogleMapsCompatible/{z}/{y}/{x}"),
tileSize(256),
bounds(-173.25000107492872, 0.0005794121990209753, 146.12527718104752, 71.506811402077),
maxSourceZoom(18)
);
map.layers.add(layer, "transit");
val layer = TileLayer(
tileUrl("https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/WMTS/tile/1.0.0/USGSImageryOnly/default/GoogleMapsCompatible/{z}/{y}/{x}"),
tileSize(256),
bounds(-173.25000107492872, 0.0005794121990209753, 146.12527718104752, 71.506811402077),
maxSourceZoom(18)
)
map.layers.add(layer, "transit")
تعرض لقطة الشاشة التالية الرمز أعلاه الذي يتراكب مع خدمة تجانب رسم خرائط الويب للصور من الخريطة الوطنية للمسح الجيولوجي الأمريكي (USGS) أعلى الخريطة، أسفل الطرق والتسميات.

الخطوات التالية
راجع المقالة التالية لمعرفة المزيد حول طرق تراكب الصور على الخريطة.