使用地圖 ID

地圖 ID 是您在 Google Cloud Console 中建立的 ID,可在與樣式建立關聯後加進應用程式程式碼,將該樣式套用到地圖。

建立完成後,地圖 ID 會與專案建立關聯,也只能用於單一平台 (Android、iOS、JavaScript) 或 Maps Static API。

如要在 Cloud Console 中建立或管理任何地圖 ID,您必須具備專案擁有者或專案編輯者身分與存取權管理角色

建立地圖 ID

「地圖 ID」是一組不重複識別碼,每組代表一個 Google 地圖例項。您可隨時在 Cloud Console 中建立地圖 ID 並更新與之連結的相關樣式。

建立地圖 ID 的步驟如下:

  1. 前往 Cloud Console 中的「地圖管理」頁面。
  2. 按一下 [建立新地圖 ID],系統即會顯示「建立新地圖 ID」表單。
    建立新地圖 ID

    在表單中執行以下操作:

    • 為地圖命名。
    • 指定地圖類型或平台。
    • 如果是 JavaScript 地圖,請選擇光柵或向量地圖類型。
    • 輸入地圖說明。
    • 選取 [下一步],系統即會顯示新的地圖 ID。

將地圖 ID 與地圖樣式建立關聯

這些操作說明假設您的專案中目前至少有一個地圖樣式。

  1. 前往 Cloud Console 中的「地圖管理」頁面。
  2. 在這個頁面的「地圖名稱」欄中選取現有的地圖 ID。
  3. 在這個表單的底部,從 [與這組地圖 ID 相關聯的地圖樣式] 下拉式選單中選擇地圖樣式。
  4. 選取 [儲存]
    這張螢幕截圖顯示單一地圖 ID 的詳細資料頁面,包括可讓使用者將地圖樣式與這個地圖 ID 建立關聯的下拉式欄位。

在應用程式中加入地圖 ID

您可以使用 MapView 類別 (或藉由程式輔助方式使用 GoogleMapOptions 類別),透過活動版面配置檔案中的 <fragment> 元素來新增地圖 ID。

舉例來說,假設您建立了一個地圖 ID,並以字串值形式 (名稱為 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 屬性中指定地圖 ID:

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    class="com.google.android.gms.maps.SupportMapFragment"
    …
    map:mapId="@string/map_id" />

您也可以使用 MapView 類別的 map:mapId 屬性來指定地圖 ID:

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    ....
    map:mapId="@string/map_id" />

如要透過程式輔助方式指定地圖 ID,請使用 GoogleMapOptions 類別將其傳送至 MapFragment 例項:

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 中,按照平常的操作方式建構及執行應用程式。在第一個步驟中設定的自訂樣式會套用至所有具備 ID 的地圖。