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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

סטטי של מפות

כדי להוסיף מזהה מפה למפה חדשה או קיימת שמשתמשת באחד מממשקי ה-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" />

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

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

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

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

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