סקירה כללית
מפה גיאוגרפית היא מפה של מדינה, יבשת או מפת אזור, עם צבעים וערכים המוקצים לאזורים ספציפיים. הערכים מוצגים כסולם צבעים, ואפשר לציין טקסט מרחף אופציונלי עבור אזורים. עיבוד המפה מתבצע בדפדפן באמצעות נגן Flash מוטמע. שימו לב שלא ניתן לגלול או לגרור את המפה, אבל אפשר להגדיר אותה כך שתוכלו לשנות את מרחק התצוגה.
דוגמאות
יש לנו שתי דוגמאות: אחת שמשתמשת בסגנון התצוגה של אזורים ושנייה שמשתמשת בסגנון התצוגה של הסמנים.
דוגמה לאזורים
סגנון האזורים ממלא את האזורים שלמים (בדרך כלל מדינות) בצבעים שתואמים
לערכים שהקצית להם. כדי לציין את סגנון האזורים, מקצים options['dataMode']
= 'regions'
בקוד.
<html> <head> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', { 'packages':['geomap'], // Note: you will need to get a mapsApiKey for your project. // See: https://developers.google.com/chart/interactive/docs/basic_load_libs#load-settings 'mapsApiKey': 'AIzaSyD-9tSrke72PouQMnMX-a7eZSW0jkFMBWY' }); google.charts.setOnLoadCallback(drawMap); function drawMap() { var data = google.visualization.arrayToDataTable([ ['Country', 'Popularity'], ['Germany', 200], ['United States', 300], ['Brazil', 400], ['Canada', 500], ['France', 600], ['RU', 700] ]); var options = {}; options['dataMode'] = 'regions'; var container = document.getElementById('regions_div'); var geomap = new google.visualization.GeoMap(container); geomap.draw(data, options); }; </script> </head> <body> <div id="regions_div" style="width: 900px; height: 500px;"></div> </body> </html>
דוגמה לסמנים
הסגנון 'סמנים' מציג עיגול, בגודל ובצבע כדי לציין ערך, מעל האזורים שציינתם.
<html> <head> <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load('current', {'packages': ['geomap']}); google.charts.setOnLoadCallback(drawMap); function drawMap() { var data = google.visualization.arrayToDataTable([ ['City', 'Popularity'], ['New York', 200], ['Boston', 300], ['Miami', 400], ['Chicago', 500], ['Los Angeles', 600], ['Houston', 700] ]); var options = {}; options['region'] = 'US'; options['colors'] = [0xFF8747, 0xFFB581, 0xc06000]; //orange colors options['dataMode'] = 'markers'; var container = document.getElementById('map_canvas'); var geomap = new google.visualization.GeoMap(container); geomap.draw(data, options); }; </script> </head> <body> <div id='map_canvas'></div> </body> </html>
בטעינה
שם החבילה של google.charts.load
הוא "geomap"
google.charts.load('current', {'packages': ['geomap']});
שם הסיווג של התצוגה החזותית של המפה הגיאוגרפית הוא google.visualization.GeoMap
var visualization = new google.visualization.GeoMap(container);
פורמט נתונים
יש תמיכה בשני פורמטים של כתובות, וכל אחד מהם תומך במספר עמודות שונה, ובסוגי נתונים שונים לכל עמודה. כל הכתובות שבטבלה חייבות להשתמש בזו או בשנייה. אי אפשר לשלב בין סוגים.
- פורמט 1: מיקומים של קווי אורך ורוחב. הפורמט הזה פועל רק אם האפשרות
dataMode
היא 'סמנים'. אם אתם משתמשים בפורמט הזה, אין צורך לכלול את ה-JavaScript של מפות Google. המיקום מוזן בשתי עמודות, ועוד שתי עמודות אופציונליות:- [מספר, חובה] קו רוחב. מספרים חיוביים הם צפונית, מספרים שליליים הם דרום.
- [מספר, חובה] קו אורך. מספרים חיוביים הם ממזרח, מספרים שליליים הם ממערב.
- [Number, Optional] ערך מספרי שמוצג כשהמשתמש מעביר את העכבר מעל האזור הזה. אם נעשה שימוש בעמודה 4, העמודה הזו היא חובה.
- [String, Optional] טקסט נוסף במחרוזת שמוצג כשהמשתמש מעביר את העכבר מעל האזור הזה.
- פורמט 2: כתובת, שם מדינה, מיקומים של שמות אזורים או קודי אזור מטרופוליטניים של ארה"ב. הפורמט הזה פועל עם האפשרות
dataMode
שמוגדרת ל 'סמנים' או ל 'אזורים'. המיקום מוזן בעמודה אחת, וגם בשתי עמודות אופציונליות:- [String, required] מיקום במפה. אפשר להשתמש בפורמטים הבאים:
- כתובת ספציפית (לדוגמה, "הרצל 160").
- שם מדינה כמחרוזת (לדוגמה, אנגליה), או קוד ISO-3166 באותיות רישיות או קוד מקביל באנגלית (לדוגמה, "GB" או "UK").
- שם קוד אזור ISO-3166-2 באותיות רישיות או ערך טקסט מקביל באנגלית (לדוגמה, "US-NJ" או "New Jersey"). הערה: אפשר לציין אזורים רק אם האפשרות dataMode מוגדרת כ-regions.
- קוד אזור של מטרופוליטן. אלה קודי מטרופולין בני שלוש ספרות שמשמשים להגדרה של אזורים שונים. נתמכים רק קודים של ארה"ב. חשוב לשים לב ש הם לא זהים לקידומות של מספרי טלפון.
- [Number, Optional] ערך מספרי שמוצג כשהמשתמש מעביר את העכבר מעל האזור הזה. אם נעשה שימוש בעמודה 3, העמודה הזו היא חובה.
- [String, Optional] טקסט נוסף במחרוזת שמוצג כשהמשתמש מעביר את העכבר מעל האזור הזה.
- [String, required] מיקום במפה. אפשר להשתמש בפורמטים הבאים:
הערה: במפה יכולות להופיע עד 400 רשומות. אם ב-DataTable או ב-DataView יש יותר מ-400 שורות, יוצגו רק 400 השורות הראשונות. המצבים המהירים ביותר הם dataMode='regions'
עם מיקומים
שצוינו כקודי ISO, ו-dataMode='markers'
עם ערכים
של קו רוחב/אורך. המצב האיטי ביותר הוא dataMode='markers'
עם כתובת למחרוזת.
חשוב: הערך DataTable
חייב לכלול את כל העמודות האופציונליות לפני כל עמודה שבה רוצים להשתמש. לדוגמה, אם רוצים לציין טבלה של קווי אורך ורוחב ואתם רוצים להשתמש רק בעמודות 1, 2 ו-4, DataTable
עדיין צריך להגדיר את עמודה 3 (אבל לא צריך להוסיף לה ערכים):
dataTable = new google.visualization.DataTable(); dataTable.addRows(1); dataTable.addColumn('number', 'LATITUDE', 'Latitude'); dataTable.addColumn('number', 'LONGITUDE', 'Longitude'); dataTable.addColumn('number', 'VALUE', 'Value'); // Won't use this column, but still must define it. dataTable.addColumn('string', 'HOVER', 'HoverText'); dataTable.setValue(0,0,47.00); dataTable.setValue(0,1,-122.00); dataTable.setValue(0,3,"Hello World!");
אפשרויות הגדרה
שם | סוג | ברירת המחדל | תיאור |
---|---|---|---|
region |
string | 'עולם' | האזור להצגה במפה. (האזורים המקיפים יוצגו גם הם). הקוד יכול להיות קוד מדינה (בפורמט ISO-3166 באותיות רישיות) או אחת מהמחרוזות הבאות:
המפה הגיאוגרפית לא מאפשרת גלילה או גרירה, אלא רק התנהגות מוגבלת של שינוי מרחק התצוגה. אפשר להפעיל שינוי בסיסי של מרחק התצוגה
על ידי הגדרת המאפיין |
dataMode |
string | 'אזורים' | איך להציג ערכים במפה. יש שני ערכים נתמכים:
|
width |
string | '556 פיקסלים' | רוחב התצוגה החזותית. אם לא צוינו יחידות, יחידת ברירת המחדל היא פיקסלים. |
height |
string | '347 פיקסלים' | גובה התצוגה החזותית. אם לא צוינו יחידות, יחידת ברירת המחדל היא פיקסלים. |
colors |
מערך של מספרי RGB בפורמט 0xRRGGBB | [0xE0FFD4, 0xA5EF63, 0x50AA00, 0x267114] | הדרגתיות של צבעים שאפשר להקצות לערכים בתצוגה החזותית. חייבים להיות לפחות שני ערכים. ההדרגתיות תכלול את כל הערכים ואת ערכי הביניים המחושבים, כשהצבע הבהיר ביותר הוא הערך הקטן ביותר, והצבע הכהה ביותר הוא הגבוה ביותר. |
showLegend |
boolean | true | אם True, יוצג מקרא למפה. |
showZoomOut |
boolean | false | אם הערך הוא True, יוצג לחצן עם התווית שצוינה במאפיין zoomOutLabel . שימו לב שהלחצן הזה לא מבצע כל פעולה כשלוחצים עליו, חוץ מלהשליך את האירוע zoomOut .
כדי לשנות את מרחק התצוגה, צריך לצלם את האירוע הזה ולשנות את האפשרות region .
אפשר לציין את הערך showZoomOut רק אם האפשרות region קטנה מתצוגת העולם. אחת מהדרכים להפעיל התנהגות של שינוי מרחק התצוגה היא
להאזין לאירוע regionClick , לשנות
את המאפיין region לאזור המתאים ולטעון מחדש את המפה. |
zoomOutLabel |
string | 'התרחקות' | תווית ללחצן הזום. |
שיטות
שיטה | סוג הערך המוחזר | תיאור |
---|---|---|
draw(data, options) |
אין | משרטט את המפה. אפשר לחזור לפני סיום השרטוט (פרטים באירוע drawingDone() ). |
getSelection() |
מערך של רכיבי בחירה | הטמעה רגילה של getSelection() . הרכיבים שנבחרו הם שורות. השיטה הזו פועלת רק אם האפשרות dataMode היא 'regions'. אפשר לבחור רק אזור עם ערך מוקצה. |
setSelection(selection) |
אין | הטמעה רגילה של setSelection() . התייחסות לבחירה כבחירת שורה ותומך בכמה שורות לבחירה. אפשר לבחור רק אזורים
שהוקצו להם ערכים. |
אירועים
שם | תיאור | תכונות |
---|---|---|
error |
מופעל כשמתרחשת שגיאה בניסיון לעבד את התרשים. | מזהה, הודעה |
select |
מופעל כשהמשתמש לוחץ על אזור שהוקצה לו ערך. כדי לבדוק
אילו קבוצות נבחרו, אפשר להתקשר למספר הערה: עקב מגבלות מסוימות, לא יופעל האירוע |
אין |
regionClick |
מתבצעת קריאה כאשר לוחצים על אזור. פועלת גם ל 'אזורים' וגם ל 'סמנים' הערה: עקב מגבלות מסוימות, לא יופעל האירוע |
אובייקט עם מאפיין יחיד, region , שהיא מחרוזת בפורמט ISO-3166 שמתארת את האזור שעליו לוחצים. |
zoomOut |
מתבצעת קריאה בעת לחיצה על לחצן הקטנת התצוגה. כדי לשנות את מרחק התצוגה, צריך לצלם את האירוע הזה ולשנות את האפשרות הערה: עקב מגבלות מסוימות, לא יופעל האירוע |
אין |
drawingDone |
מתבצעת קריאה לאחר סיום השרטוט במפה הגיאוגרפית. | אין |
המדיניות בנושא נתונים
מיקומים מקודדים באופן גיאוגרפי על ידי מפות Google. נתונים שלא מחייבים קידוד גיאוגרפי לא נשלחים לשום שרת. ניתן לעיין בתנאים ובהגבלות של מפות Google לקבלת מידע נוסף על המדיניות שלהם בנושא נתונים.
הערות
בגלל הגדרות האבטחה של Flash, יכול להיות שהתכונה הזו (וכל התצוגות החזותיות שמבוססות על Flash) לא יפעלו כראוי כשניגשים אליה ממיקום קובץ בדפדפן (למשל, file:///c:/webhost/myhost/myviz.html) ולא מכתובת URL של שרת אינטרנט (למשל http://www.myhost.com/myviz.html). בדרך כלל מדובר בבעיה לבדיקה בלבד. אפשר להתגבר על הבעיה הזו כמו שמתואר באתר האינטרנט של Macromedia.