שימוש במזהי מפות
מזהה מפה הוא מזהה שמשויך לתכונה או לסגנון מפה ספציפיים. יש להגדיר סגנון מפה ולשייך אותו למזהה מפה ב-Google Cloud Console. לאחר מכן, כשתציינו מזהה מפה בקוד, סגנון המפה שמשויך אליו יוצג באפליקציה. כל עדכוני הסגנון הבאים שתבצעו יופיעו באפליקציה באופן אוטומטי, ללא צורך בעדכונים של הלקוחות.
בתהליך היצירה, מזהי המפות משויכים לפרויקט והם גם מוגבלים לפלטפורמה אחת (Android, iOS או JavaScript) או ל-Maps Static API.
כדי ליצור או לנהל מזהי מפות במסוף Cloud, צריך להיות לכם תפקיד IAM של בעלי הפרויקט או עורך הפרויקט.
ההרשאות הנדרשות
כדי ליצור או לנהל מזהי מפה או סגנונות מפה בפרויקט נתון ב-Google Cloud, צריך להחזיק בתפקיד IAM של בעלים או עריכה בפרויקט.
יצירת מזהה מפה
מזהה המפה הוא מזהה ייחודי שמייצג מופע יחיד של מפה של Google. בכל שלב תוכלו ליצור מזהי מפות ולעדכן סגנון שמשויך למזהה המפה דרך Cloud Console.
כדי ליצור מזהה מפה:
- נכנסים לדף 'ניהול מפות' במסוף Cloud.
- בוחרים באפשרות יצירת מזהה מפה חדש כדי להציג את הטופס יצירת מזהה מפה חדש.
מבצעים את הפעולות הבאות בטופס:
- נותנים שם למפה.
- יש לציין את סוג המפה או את הפלטפורמה.
- למפות של JavaScript, בוחרים בסוג המפה וקטורית או רסטר.
- מזינים תיאור של המפה.
- בוחרים באפשרות הבא כדי להציג את מזהה המפה החדש.
שיוך מזהה מפה לסגנון מפה
ההנחיות האלה מבוססות על ההנחה שקיים בפרויקט שלכם לפחות סגנון מפה אחד.
- נכנסים לדף 'ניהול מפות' במסוף Cloud.
- בדף הזה, בוחרים מזהה מפה קיים מהעמודה שם המפה.
- בחלק התחתון של הטופס, בוחרים סגנון מפה מהרשימה הנפתחת סגנונות מפה המשויכים למזהה המפה הזה.
- לוחצים על שמירה.
הוספה של מזהה המפה לאפליקציה
Android
מוסיפים את מזהה המפה באמצעות רכיב <fragment>
בקובץ הפריסה של הפעילות, באמצעות המחלקה MapView
או באופן פרוגרמטי באמצעות המחלקה GoogleMapOptions
.
לדוגמה, נניח שיצרתם מזהה מפה שמאוחסן כערך מחרוזת בשם map_id
ב-res/values/strings.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>
במפות שנוספו באמצעות רכיב <fragment>
בקובץ הפריסה של הפעילות, כל קטעי המפה שצריכים לכלול את הסגנון המותאם אישית חייבים לציין את מזהה המפה במאפיין map:mapId
:
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
class="com.google.android.gms.maps.SupportMapFragment"
…
map:mapId="@string/map_id" />
אפשר גם להשתמש במאפיין map:mapId
של המחלקה MapView
על מנת לציין מזהה מפה:
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
....
map:mapId="@string/map_id" />
כדי לציין מזהה מפה באופן פרוגרמטי, מעבירים אותו למכונה MapFragment
באמצעות המחלקה GoogleMapOptions
:
Java
MapFragment mapFragment = MapFragment.newInstance(
new GoogleMapOptions()
.mapId(getResources().getString(R.string.map_id)));
Kotlin
val mapFragment = MapFragment.newInstance(
GoogleMapOptions()
.mapId(resources.getString(R.string.map_id))
)
יוצרים ומפעילים את האפליקציה כרגיל ב-Android Studio. סגנונות מותאמים אישית, כפי שהוגדרו בשלב הראשון, יחולו על כל המפות שיש להן מזהה.
iOS
כדי ליצור מפה באמצעות מזהה מפה, מבצעים את השלבים הבאים:
- יוצרים
GMSMapID
עם המחרוזת של מזהה המפה ממסוף Cloud. - יוצרים
GMSMapView
שמציין את מזהה המפה שיצרתם כרגע.
Swift
let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "<YOUR MAP ID>")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
longitude:-122.336471
zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"<YOUR MAP ID>"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;
אם אתם משתמשים במזהה מפה משלכם, תוכלו להגדיר את מזהה המפה ב-Cloud Console לשימוש חדש בכל שלב, והסגנון הזה ישתקף בתצוגת המפה באופן אוטומטי עבורכם ועבור המשתמשים תוך כשש שעות.
אם רוצים לראות את השינויים מיד, אפשר לסגור את האפליקציה ולהפעיל אותה מחדש על ידי יציאה מהאפליקציה, אילוץ יציאה מהאפליקציה מרשימת האפליקציות שהיו בשימוש לאחרונה ופתיחתה מחדש. לאחר מכן ניתן יהיה לראות את המפה המעודכנת.
JavaScript
כדי ליצור מפה עם מזהה מפה בקוד האפליקציה:
אם אתם מתאימים אישית את המפה באמצעות קוד JSON מוטמע, הסירו את המאפיין
styles
מאובייקטMapOptions
. אם לא, דלגו על השלב הזה.יש להוסיף מזהה מפה למפה באמצעות הנכס
mapId
. למשל:
map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 8, mapId: 'MAP_ID' });
סטטי במפות Google
כדי להוסיף מזהה מפה למפה חדשה או קיימת, שמשתמשת באחד מממשקי ה-API של שירות האינטרנט, מוסיפים את הפרמטר של כתובת האתר map_id
ומגדירים אותו למזהה המפה.
בדוגמה הזו מוצגת הוספה של מזהה מפה למפה באמצעות Maps Static API.
<img src="https://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=YOUR_API_KEY&map_id=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />
תכונות הזמינות כשמשתמשים במזהי מפות
עיצוב מפות מבוסס-ענן: עיצוב מפות, התאמה אישית וניהול שלהן באמצעות Google Cloud Console.
זמין בכל הפלטפורמות (Android, JavaScript, iOS ו-API סטטי של מפות Google)
מפות וקטוריות: מפה שמורכבת מאריחים מבוססי וקטורים, שמשרטטים בזמן הטעינה בצד הלקוח באמצעות WebGL.
זמין ב-JavaScript