סקירה כללית
כדי להשתמש במפה בדף אינטרנט, יכול להיות שיהיה צורך באפשרויות ספציפיות שיאפשרו למשתמשים לשלוט באינטראקציה עם המפה, כמו התקרבות והזזה. האפשרויות האלה, כמו gestureHandling, minZoom, maxZoom ו-restriction, מוגדרות בתוך ממשק MapOptions.
התנהגות ברירת מחדל
במפה הבאה מוצגת התנהגות ברירת המחדל של אינטראקציות עם מפה שנוצרה רק עם האפשרויות zoom ו-center.
הקוד של המפה הזו מופיע בהמשך.
TypeScript
new google.maps.Map(document.getElementById("map")!, { zoom, center, });
JavaScript
new google.maps.Map(document.getElementById("map"), { zoom, center, });
שליטה בטיפול בתנועות
כשמשתמש גולל דף שמכיל מפה, פעולת הגלילה יכולה לגרום בטעות לשינוי מרחק התצוגה במפה. אפשר לשלוט בהתנהגות הזו באמצעות אפשרות המפה gestureHandling.
gestureHandling: cooperative
במפה שלמטה נעשה שימוש באפשרות gestureHandling שהוגדרה לערך cooperative, וכך המשתמש יכול לגלול בדף כרגיל, בלי להגדיל או להקטין את התצוגה של המפה או להזיז אותה. המשתמשים יכולים לשנות את מרחק התצוגה במפה באמצעות לחצני השליטה לשינוי מרחק התצוגה. במכשירי מסך מגע, הם יכולים גם לשנות את המרחק מהתצוגה ולהזיז את המפה באמצעות תנועות של שתי אצבעות.
הקוד של המפה הזו מופיע בהמשך.
TypeScript
new google.maps.Map(document.getElementById("map")!, { zoom, center, gestureHandling: "cooperative", });
JavaScript
new google.maps.Map(document.getElementById("map"), { zoom, center, gestureHandling: "cooperative", });
gestureHandling: auto
המפה בחלק העליון של הדף ללא האפשרות gestureHandling מתנהגת כמו המפה הקודמת עם gestureHandling שמוגדר ל-cooperative, כי כל המפות בדף הזה נמצאות בתוך <iframe>. ערך ברירת המחדל של gestureHandling, auto, משתנה בין greedy ל-cooperative בהתאם לשאלה אם המפה מוכלת ב-<iframe>.
מפה שמוכלת בתוך <iframe> |
התנהגות |
|---|---|
| כן | cooperative |
| לא | greedy |
gestureHandling: greedy
בהמשך מוצגת מפה עם gestureHandling שהערך שלה הוא greedy. המפה הזו מגיבה לכל מחוות המגע ולאירועי הגלילה, בניגוד ל-cooperative.
gestureHandling: none
אפשר גם להגדיר את האפשרות gestureHandling לערך none כדי להשבית את השימוש במחוות במפה.
השבתה של הזזה וזום
כדי להשבית לגמרי את האפשרות להזיז את המפה ולשנות את המרחק מהתצוגה, צריך לכלול שתי אפשרויות: gestureHandling ו-zoomControl.
TypeScript
new google.maps.Map(document.getElementById("map")!, { zoom, center, gestureHandling: "none", zoomControl: false, });
JavaScript
new google.maps.Map(document.getElementById("map"), { zoom, center, gestureHandling: "none", zoomControl: false, });
בדוגמה של המפה שבהמשך אפשר לראות את השילוב של gestureHandling ושל zoomControl בקוד שלמעלה.
הגבלת גבולות המפה ושינוי מרחק התצוגה
יכול להיות שתרצו לאפשר שימוש במחוות ובאמצעי בקרה של שינוי התצוגה, אבל להגביל את המפה לגבולות מסוימים או לשינוי תצוגה מינימלי ומקסימלי. כדי לעשות את זה, אפשר להגדיר את האפשרויות restriction, minZoom ו-maxZoom. הקוד והמפה הבאים מדגימים את האפשרויות האלה.
TypeScript
new google.maps.Map(document.getElementById("map")!, { zoom, center, minZoom: zoom - 3, maxZoom: zoom + 3, restriction: { latLngBounds: { north: -10, south: -40, east: 160, west: 100, }, }, });
JavaScript
new google.maps.Map(document.getElementById("map"), { zoom, center, minZoom: zoom - 3, maxZoom: zoom + 3, restriction: { latLngBounds: { north: -10, south: -40, east: 160, west: 100, }, }, });