نظرة عامة
يوضّح لك هذا البرنامج التعليمي كيفية عرض معلومات ملف 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, us>er-sc<alable=no"
>meta <chars>et="utf-8"
< title>KML C<lick >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;
bo<rder-l>eft<: non>e;
< > }
< /style
>< /he>ad
<body
div id=><&quo>t;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.getElementBy<Id('>;capt<ure');
testimonial.innerHTML = content;
});
}
&/script
scrip>t asy<nc
>src<=&quo>t<;http>s://maps.googleapis.com/maps/api/js?key=YOUR_API_KEYcallback=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
يوضّح هذا الجدول الرمز البرمجي الذي ينشئ KMLLayer.
| الرمز والوصف | |
|---|---|
|
تنشئ هذه السمة عنصر KMLLayer جديدًا لعرض ملف KML. |
|
يضبط منشئ KMLLayer عنوان URL لملف KML. تحدّد أيضًا سمات لكائن KMLLayer تنفّذ ما يلي:
|
عرض البيانات في الشريط الجانبي
يوضّح هذا القسم الإعدادات التي تعرض محتوى نافذة المعلومات في الشريط الجانبي عند النقر على عنصر على الخريطة. ويتيح لكم الاستفادة من التالي:
- الاستماع إلى حدث النقر على أي من عناصر KMLLayer
- الحصول على بيانات العنصر الذي تم النقر عليه
- كتابة هذه البيانات في الشريط الجانبي
إضافة أداة معالجة الأحداث
توفّر "خرائط Google" وظيفة للاستماع إلى أحداث المستخدمين والاستجابة لها على الخريطة، مثل النقرات أو ضغطات مفاتيح لوحة المفاتيح. تضيف هذه السمة أداة معالجة لأحداث click من هذا النوع.
يوضّح الجدول أدناه الرمز البرمجي لهذا القسم.
| الرمز والوصف | |
|---|---|
|
يركّز متتبِّع الأحداث kmlLayer.addListener على ما يلي:
|
كتابة بيانات عنصر KML في الشريط الجانبي
في هذه المرحلة من الدليل التعليمي، تكون قد سجّلت أحداث النقر على عناصر الطبقة. يمكنك الآن ضبط التطبيق لكتابة بيانات الميزة ومحتوى نافذة المعلومات في الشريط الجانبي.
يوضّح الجدول أدناه الرمز البرمجي لهذا القسم.
| الرمز والوصف | |
|---|---|
|
تكتب محتوى نافذة المعلومات إلى متغيّر. |
|
تحدّد هذه السمة div الذي سيتم الكتابة إليه، وتستبدل رمز HTML فيه
بمحتوى الميزة.
|
|
تصبح أسطر الرمز هذه هي الدالة داخل الدالة الإنشائية addListener.
|
الآن، في كل مرة تنقر فيها على عنصر KML على الخريطة، يتم تعديل الشريط الجانبي لعرض محتوى نافذة المعلومات الخاصة به.
مزيد من المعلومات
مزيد من المعلومات عن استخدام ملفات KML
