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

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

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

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

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

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

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

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

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

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

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

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, חשוב להסיר את הסוד הקודם חתימה דיגיטלית מכתובת האתר.

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

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

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