نظرة عامة
يوضّح لك هذا الدليل التعليمي كيفية عرض معلومات ملف KML في "خرائط Google" والشريط الجانبي. لمزيد من المعلومات عن استخدام ملفات KML في الخرائط، اطّلِع على دليل طبقات KML. جرِّب النقر على أحد العلامات على الخريطة أدناه للاطّلاع على البيانات في الشريط الجانبي.
يعرض القسم أدناه الرمز البرمجي الكامل الذي تحتاجه لإنشاء الخريطة والجانب العميق.
var map; var src = 'https://developers.google.com/maps/documentation/javascript/examples/kml/westcampus.kml'; function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: new google.maps.LatLng(-19.257753, 146.823688), zoom: 2, mapTypeId: 'terrain' }); var kmlLayer = new google.maps.KmlLayer(src, { suppressInfoWindows: true, preserveViewport: false, map: map }); kmlLayer.addListener('click', function(event) { var content = event.featureData.infoWindowHtml; var testimonial = document.getElementById('capture'); testimonial.innerHTML = content; }); }
<div id="map"></div> <div id="capture"></div>
html, body { height: 370px; padding: 0; margin: 0; } #map { height: 360px; width: 300px; overflow: hidden; float: left; border: thin solid #333; } #capture { height: 360px; width: 480px; overflow: hidden; float: left; background-color: #ECECFB; border: thin solid #333; border-left: none; }
<!-- Replace the value of the key parameter with your own API key. --> <script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap"> </script>
جرِّب ذلك بنفسك
يمكنك تجربة هذا الرمز في JSFiddle بالنقر على رمز <>
في
أعلى يسار نافذة الرمز.
<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <title>KML Click Capture Sample</title> <style> html, body { height: 370px; padding: 0; margin: 0; } #map { height: 360px; width: 300px; overflow: hidden; float: left; border: thin solid #333; } #capture { height: 360px; width: 480px; overflow: hidden; float: left; background-color: #ECECFB; border: thin solid #333; border-left: none; } </style> </head> <body> <div id="map"></div> <div id="capture"></div> <script> var map; var src = 'https://developers.google.com/maps/documentation/javascript/examples/kml/westcampus.kml'; function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: new google.maps.LatLng(-19.257753, 146.823688), zoom: 2, mapTypeId: 'terrain' }); var kmlLayer = new google.maps.KmlLayer(src, { suppressInfoWindows: true, preserveViewport: false, map: map }); kmlLayer.addListener('click', function(event) { var content = event.featureData.infoWindowHtml; var testimonial = document.getElementById('capture'); testimonial.innerHTML = content; }); } </script> <script async src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY &callback=initMap"> </script> </body> </html>
البدء
في ما يلي مراحل إنشاء الخريطة والشريط الجانبي لهذا الدليل التعليمي:
إعداد ملف KML لاستيراده
يجب أن يمتثل ملف KML لمعيار KML. لمعرفة تفاصيل عن هذا المعيار، يُرجى الرجوع إلى موقع Open Geospatial Consortium الإلكتروني. توضِّح أيضًا مستندات KML من Google اللغة، وتقدّم مستندات مرجعية ومستندات مفاهيمية للمطوّرين.
إذا كنت لا تملك ملف KML، يمكنك تنفيذ ما يلي:
استخدِم ملف KML التالي في هذا الدليل التعليمي:
https://developers.google.com/maps/documentation/javascript/examples/kml/westcampus.kml
ابحث عن ملف KML على الويب. يمكنك استخدام عامل تشغيل البحث
filetype
من Google.استبدِل أي عبارة بحث بـ
velodromes
، أو احذف العبارة تمامًا للعثور على جميع ملفات KML.
إذا كنت تنشئ ملفك الخاص، يفترض الرمز في هذا المثال ما يلي:
- إذا استضفت الملف بشكل علني على الإنترنت هذا شرط أساسي لتحميل
جميع التطبيقات لملف KML في
KMLLayer
، حتى تتمكّن خوادم Google من العثور على المحتوى واسترداده لعرضه على الخريطة. - الملف ليس مضمّنًا في صفحة محمية بكلمة مرور.
- تتضمّن ميزاتك محتوى نافذة معلومات. يمكنك تضمين هذا المحتوى في عنصر
description
، أو إدراجه باستخدام عنصرExtendedData
واستبدال العنصر (اطّلِع على المزيد من المعلومات أدناه). ويمكن الوصول إلى كليهما كالسمةinfoWindowHtml
للعنصر.
عناصر ExtendedData
يتضمّن ملف KML في هذا الدليل التعليمي معلومات عن العناصر في عنصر
ExtendedData
. لإدخال هذه المعلومات في وصف
العنصر، استخدِم استبدال العنصر، وهو متغيّر أساسًا
في علامة BalloonStyle
.
يوضِّح الجدول أدناه رمز هذا القسم.
الرمز والوصف | |
---|---|
|
يحتوي ملف KML على عنصر Style واحد يتم تطبيقه على كل
النقاط المرجعية. يحدّد عنصر Style هذا قيمة #[video] لعنصر النص
BalloonStyle .يطلب تنسيق $[x] من محلل KML البحث عن عنصر
Data باسم video واستخدامه كأحد
نصوص المربّعات المنبثقة. |
|
يحتوي كل Placemark على عنصر ExtendedData
يحتوي على عنصر Data .
لاحظ أنّ كل عنصر Placemark يحتوي على عنصر Data واحد
مع سمة اسم video .يستخدم ملف هذا الدليل التعليمي فيديو YouTube المضمّن كقيمة لنص البالون لكلّ علامة موقع. |
يمكنك الاطّلاع على مزيد من المعلومات عن استبدال العناصر في القسم إضافة بيانات مخصّصة من مستندات KML.
عرض KMLLayer
بدء تشغيل الخريطة
يوضّح هذا الجدول الرمز البرمجي لهذا القسم.
الرمز والوصف | |
---|---|
|
لعرض ملف KML على خريطة، عليك أولاً إنشاء الخريطة. يُنشئ هذا الرمز عنصرًا جديدًا في "خرائط Google"، ويحدّد مكان توسيع الخريطة وتصغيرها، ويُرفِق الخريطة بالعنصر div .لمزيد من المعلومات عن أساسيات إنشاء خريطة في "خرائط Google"، يمكنك الاطّلاع على الدليل التعليمي إضافة خريطة في "خرائط Google" إلى موقعك الإلكتروني. |
إنشاء KMLLayer
يوضّح هذا الجدول الرمز البرمجي الذي ينشئ طبقة KML.
الرمز والوصف | |
---|---|
|
تُنشئ هذه الدالة عنصر KMLLayer جديدًا لعرض ملف KML. |
|
يضبط مُنشئ KMLLayer عنوان URL لملف KML. ويحدِّد أيضًا سمات لكائن KMLLayer تُنفِّذ ما يلي:
|
عرض البيانات في الشريط الجانبي
يوضّح هذا القسم الإعدادات التي تعرِض محتوى نافذة المعلومات في الشريط الجانبي عند النقر على عنصر على الخريطة. ويتم ذلك من خلال:
- الاستماع إلى حدث النقر على أيّ من ميزات KMLLayer
- الحصول على بيانات الميزة التي تم النقر عليها
- كتابة هذه البيانات في الشريط الجانبي
إضافة أداة معالجة حدث
توفّر "خرائط Google" وظيفة للاستماع إلى أحداث المستخدمين على
الخريطة والاستجابة لها، مثل النقرات أو الضغط على مفاتيح لوحة المفاتيح. وتضيف أداة معالجة لأحداث
click
هذه.
يوضّح الجدول أدناه رمز هذا القسم.
الرمز والوصف | |
---|---|
|
يركز أداة معالجة أحداث kmlLayer.addListener على
ما يلي:
|
كتابة بيانات ميزة KML في الشريط الجانبي
في هذه المرحلة من الدليل التعليمي، تكون قد سجّلت أحداث النقرات على عناصر الطبقة. يمكنك الآن ضبط التطبيق لكتابة بيانات الميزة ومحتوى نافذة المعلومات في الشريط الجانبي.
يوضّح الجدول أدناه رمز هذا القسم.
الرمز والوصف | |
---|---|
|
تُسجِّل هذه الدالة محتوى نافذة المعلومات في متغيّر. |
|
تُحدِّد div المطلوب الكتابة فيه، وتستبدِل رمز HTML فيه
بمحتوى الميزة.
|
|
تصبح هذه الأسطر من التعليمات البرمجية هي الدالة ضمن addListener
المنشئ.
|
في كل مرة تنقر فيها على عنصر KML على الخريطة، يتم تعديل الشريط الجانبي لعرض محتوى نافذة المعلومات.
مزيد من المعلومات
اطّلِع على مزيد من المعلومات عن استخدام ملفات KML.