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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. נכנסים לדף של Maps Management ב-Cloud Console.
  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 כך שיהיה סגנון חדש מתי שתרצו, והסגנון הזה יופיע בתצוגת המפה באופן אוטומטי עבורכם ועבור המשתמשים תוך כ-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'
});

סטטי במפות 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.

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

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

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