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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. נכנסים לדף של ניהול מפות Google במסוף 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 Console.
  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 מתי שתרצו. הסגנון הזה יבוא לידי ביטוי בתצוגת המפה עבורכם ועבור המשתמשים תוך כ-6 שעות.

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

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'
});

מפות סטטיות

כדי להוסיף מזהה מפה למפה חדשה או קיימת שמשתמשת באחד מממשקי ה-API של שירות האינטרנט שלנו, מוסיפים את הפרמטר של כתובת ה-URL של 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.
זמין בכל הפלטפורמות (Android, JavaScript, iOS ו-Maps Static API)

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