שימוש במזהי מפות

מזהה מפה הוא מזהה שמשויך לתכונה או לסגנון מפה ספציפיים. יש להגדיר סגנון מפה ולשייך אותו למזהה מפה ב-Google Cloud Console. לאחר מכן, כשתציינו מזהה מפה בקוד, סגנון המפה שמשויך אליו יוצג באפליקציה. כל עדכוני הסגנון הבאים שתבצעו יופיעו באפליקציה באופן אוטומטי, ללא צורך בעדכונים של הלקוחות.

בתהליך היצירה, מזהי המפות משויכים לפרויקט והם גם מוגבלים לפלטפורמה אחת (Android, iOS או JavaScript) או ל-Maps Static API.

כדי ליצור או לנהל מזהי מפות במסוף Cloud, צריך להיות לכם תפקיד IAM של בעלי הפרויקט או עורך הפרויקט.

ההרשאות הנדרשות

כדי ליצור או לנהל מזהי מפה או סגנונות מפה בפרויקט נתון ב-Google Cloud, צריך להחזיק בתפקיד IAM של בעלים או עריכה בפרויקט.

יצירת מזהה מפה

מזהה המפה הוא מזהה ייחודי שמייצג מופע יחיד של מפה של Google. בכל שלב תוכלו ליצור מזהי מפות ולעדכן סגנון שמשויך למזהה המפה דרך Cloud Console.

כדי ליצור מזהה מפה:

  1. נכנסים לדף 'ניהול מפות' במסוף Cloud.
  2. בוחרים באפשרות יצירת מזהה מפה חדש כדי להציג את הטופס יצירת מזהה מפה חדש.
    יצירת מזהה מפה חדש

    מבצעים את הפעולות הבאות בטופס:

    • נותנים שם למפה.
    • יש לציין את סוג המפה או את הפלטפורמה.
    • למפות של JavaScript, בוחרים בסוג המפה וקטורית או רסטר.
    • מזינים תיאור של המפה.
    • בוחרים באפשרות הבא כדי להציג את מזהה המפה החדש.

שיוך מזהה מפה לסגנון מפה

ההנחיות האלה מבוססות על ההנחה שקיים בפרויקט שלכם לפחות סגנון מפה אחד.

  1. נכנסים לדף 'ניהול מפות' במסוף Cloud.
  2. בדף הזה, בוחרים מזהה מפה קיים מהעמודה שם המפה.
  3. בחלק התחתון של הטופס, בוחרים סגנון מפה מהרשימה הנפתחת סגנונות מפה המשויכים למזהה המפה הזה.
  4. לוחצים על שמירה.
    צילום מסך שבו מוצג דף הפרטים של מזהה מפה יחיד, כולל השדה הנפתח שמאפשר למשתמשים לשייך סגנון מפה למזהה המפה הזה.

הוספה של מזהה המפה לאפליקציה

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

כדי ליצור מפה באמצעות מזהה מפה, מבצעים את השלבים הבאים:

  1. יוצרים GMSMapID עם המחרוזת של מזהה המפה ממסוף Cloud.
  2. יוצרים 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

כדי ליצור מפה עם מזהה מפה בקוד האפליקציה:

  1. אם אתם מתאימים אישית את המפה באמצעות קוד JSON מוטמע, הסירו את המאפיין styles מאובייקט MapOptions. אם לא, דלגו על השלב הזה.

  2. יש להוסיף מזהה מפה למפה באמצעות הנכס 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" />

מפה שממרכזת את גשר ברוקלין בעיר ניו יורק, ניו יורק, ארה&quot;ב, עם פקדי מפות בפינה השמאלית התחתונה. המפה מציגה עיצוב מותאם אישית לדרכים, במים וביבשה.

אם יש לכם חתימה דיגיטלית בכתובת ה-URL הסטטית במפות Google לפני שמוסיפים את מזהה המפה, תצטרכו ליצור ולהוסיף חתימה דיגיטלית חדשה אחרי שמוסיפים את מזהה המפה. כשיוצרים את הסוד החדש לחתימה על כתובת ה-URL, חשוב להסיר מכתובת ה-URL את החתימה הדיגיטלית הקודמת.

תכונות הזמינות כשמשתמשים במזהי מפות

עיצוב מפות מבוסס-ענן: עיצוב מפות, התאמה אישית וניהול שלהן באמצעות Google Cloud Console.
זמין בכל הפלטפורמות (Android, JavaScript, iOS ו-API סטטי של מפות Google)

מפות וקטוריות: מפה שמורכבת מאריחים מבוססי וקטורים, שמשרטטים בזמן הטעינה בצד הלקוח באמצעות WebGL.
זמין ב-JavaScript