نظرة عامة
يوضّح لك هذا الدليل التعليمي كيفية عرض معلومات ملف 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. للحصول على تفاصيل حول هذا المعيار، يُرجى الرجوع إلى موقع الاتحاد الجغرافي المكاني المفتوح. تصف مستندات 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 المضمّن كقيمة لنص بالون كل علامة Placemark. |
يمكنك معرفة المزيد من المعلومات حول استبدال الكيان في فصل إضافة البيانات المخصّصة من مستندات KML.
عرض KMLLayer
جارٍ إعداد الخريطة
يشرح هذا الجدول التعليمات البرمجية لهذا القسم.
الرمز والوصف | |
---|---|
|
لعرض ملف KML على خريطة، عليك أولاً إنشاء الخريطة. ينشئ هذا الرمز كائن "خرائط Google" جديدًا، ويحدد موضع التوسيط والتكبير/التصغير، ويرفق الخريطة بـ div .لمزيد من المعلومات حول أساسيات إنشاء "خرائط Google"، اطّلِع على البرنامج التعليمي إضافة خريطة Google إلى موقعك الإلكتروني. |
إنشاء طبقة KML
يوضّح هذا الجدول الرمز البرمجي الذي ينشئ طبقة KML.
الرمز والوصف | |
---|---|
|
إنشاء كائن KMLLayer جديد لعرض KML. |
|
يضبط مُنشئ KMLLayer عنوان URL لملف KML. وتحدّد أيضًا خصائص كائن KMLLayer الذي يؤدي ما يلي:
|
عرض البيانات في الشريط الجانبي
يوضّح هذا القسم الإعدادات التي تعرِض محتوى نافذة المعلومات في الشريط الجانبي عند النقر على عنصر على الخريطة. يتم ذلك من خلال:
- الاستماع إلى حدث النقر على أيّ من ميزات KMLLayer
- الحصول على بيانات الميزة التي تم النقر عليها
- كتابة هذه البيانات في الشريط الجانبي
إضافة أداة معالجة حدث
توفّر "خرائط Google" وظيفة للاستماع إلى أحداث المستخدمين على الخريطة والاستجابة لها، مثل النقرات أو الضغط على مفاتيح لوحة المفاتيح. تضيف خدمة معالجة الحدث
لأحداث click
هذه.
يوضح الجدول أدناه التعليمات البرمجية لهذا القسم.
الرمز والوصف | |
---|---|
|
تركّز أداة معالجة الحدث kmlLayer.addListener على
ما يلي:
|
كتابة بيانات عنصر KML في الشريط الجانبي
في هذه المرحلة من البرنامج التعليمي، تكون قد سجّلت أحداث النقر على ميزات الطبقة. يمكنك الآن ضبط التطبيق لكتابة بيانات الميزة ومحتوى نافذة المعلومات في الشريط الجانبي.
يوضّح الجدول أدناه رمز هذا القسم.
الرمز والوصف | |
---|---|
|
كتابة محتوى نافذة المعلومات إلى متغيّر |
|
يحدّد div المطلوب الكتابة إليه، ويستبدل HTML فيه بمحتوى الميزة.
|
|
تصبح سطور الرمز هذه هي الدالة داخل الدالة الإنشائية addListener .
|
والآن في كل مرة تنقر فيها على إحدى ميزات KML على الخريطة، يتم تحديث الشريط الجانبي لعرض محتوى نافذة المعلومات.
مزيد من المعلومات
اقرأ المزيد عن استخدام ملفات KML.