שימוש במזהי מפות
מזהה מפה הוא מזהה שמשויך לסגנון מפה או לתכונה מסוימת. צריך להגדיר סגנון מפה ולשייך אותו למזהה מפה במסוף Google Cloud. לאחר מכן, כשאתם מפנים למזהה מפה בקוד שלכם, סגנון המפה המשויך אליו הוא שמוצג באפליקציה. כל עדכוני הסגנון הבאים שתבצעו יופיעו באפליקציה באופן אוטומטי, ללא צורך בעדכון של הלקוחות שלך.
בזמן היצירה, מזהי המפות משויכים לפרויקט מוגבל לפלטפורמה אחת (Android, iOS, JavaScript) או ל-API הסטטי של מפות Google.
כדי ליצור או לנהל מזהי מפות במסוף Cloud: חייב להיות בעל פרויקט תפקיד IAM של בעלים או עורך פרויקט.
ההרשאות הנדרשות
כדי ליצור או לנהל מזהי מפות או סגנונות מפה בפרויקט ב-Google Cloud, צריך להחזיק תפקיד IAM של בעלים או עריכה בפרויקט.
יצירת מזהה מפה
מזהה מפה הוא מזהה ייחודי שמייצג מופע יחיד של Google מפה אפשר ליצור מזהי מפות ולעדכן סגנון שמשויך למזהה מפה בכל שלב במסוף Cloud.
כדי ליצור מזהה מפה:
- במסוף 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 כדי לשמור סגנון חדש בכל שלב, סגנון זה יופיע בתצוגת המפה באופן אוטומטי משתמשים תוך כשש שעות.
אם רוצים לראות את השינויים באופן מיידי, אפשר לסגור את התפריט ולהפעיל מחדש יציאה מהאפליקציה ואילוץ יציאה מהאפליקציה מהמכשיר שהיה בשימוש לאחרונה רשימת האפליקציות ולפתוח אותה מחדש. המפה המעודכנת תהיה גלויה.
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' });
סטטי של מפות
כדי להוסיף מזהה מפה למפה חדשה או קיימת שמשתמשת באחד
ממשקי API של שירות אינטרנט, מוסיפים את הפרמטר map_id
של כתובת האתר ומגדירים אותו למזהה המפה.
בדוגמה הזו ניתן לראות הוספה של מזהה מפה למפה באמצעות API 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.
זמין בכל הפלטפורמות (Android, JavaScript, iOS וה-API הסטטי של מפות Google)
מפות וקטוריות: מפה המורכבת ממשבצות מבוססות וקטורים, המצוירת בזמן הטעינה
בצד הלקוח באמצעות WebGL.
זמין ב-JavaScript