如何创建地图 ID
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
地图 ID 是表示存储在 Google Cloud 中的 Google 地图样式和配置设置的唯一标识符。您可以使用地图 ID 在网站和应用中启用功能或管理地图和设置地图样式。您可以在 Google Cloud 控制台项目的地图管理页面中,为所需的每个平台(JavaScript、Android、iOS 或静态地图)创建地图 ID。
如需详细了解使用地图 ID 的功能,请参阅地图 ID 概览。
所需权限
如需在项目中创建或管理任何地图 ID,您必须在 Cloud 控制台的 IAM 页面上为项目使用具有适当角色级权限(编辑者或所有者)的主账号。如需了解详情,请参阅 IAM 基本角色和预定义角色参考文档。
创建地图 ID
在 Cloud 控制台中创建地图 ID,请按以下步骤操作:
登录并打开具有所需权限的 Cloud 控制台项目。
在 Cloud 控制台中,前往“地图管理”页面。
点击创建地图 ID。
在创建新的地图 ID 页面上,执行以下操作:
- 在名称部分,为地图 ID 指定名称。
- 可选:对于说明,请描述地图 ID 的用途。
- 对于地图类型,选择您计划使用地图 ID 的平台。
如果您选择 JavaScript,还需选择光栅(默认)或矢量地图类型。如需详细了解矢量地图,请参阅矢量地图。
- 点击保存,系统会显示新的地图 ID。
将地图 ID 与地图样式相关联
如果您使用的是云端地图样式设置,则需要将地图样式与地图 ID 相关联。如需了解详情,请参阅将样式与地图 ID 相关联。
为您的应用添加地图 ID
Android
您可以使用 MapView
类(或以编程方式使用 GoogleMapOptions
类),通过 activity 布局文件中的 <fragment>
元素添加地图 ID。
例如,假设您创建了地图 ID,它作为一个名为 map_id
的字符串值存储在 res/values/strings.xml
中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">MAP_ID</string>
</resources>
对于通过 activity 布局文件中的 <fragment>
元素添加的地图,所有应具有自定义样式的地图 fragment 都必须在 map:mapId
属性中指定地图 ID:
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
map:name="com.google.android.gms.maps.SupportMapFragment"
…
map:mapId="@string/map_id" />
您还可以使用 MapView
类的 map:mapId
属性来指定地图 ID:
<com.google.android.gms.maps.MapView
xmlns:map="http://schemas.android.com/apk/res-auto"
....
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 的所有地图。
iOS
如需使用地图 ID 实例化地图,请执行以下操作:
- 使用 Cloud 控制台中的地图 ID 字符串创建
GMSMapID
。
- 创建一个
GMSMapView
,指定您刚刚创建的地图 ID。
Swift
let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "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:@"MAP_ID"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;
如果您使用的是自己的地图 ID,则可以在 Cloud 控制台中随时为地图 ID 设置新样式,该样式会在大约 6 小时内自动反映在您和用户的地图视图中。
如果您想立即看到更改,可以退出应用,从最近使用的应用列表中强制退出应用,然后重新打开应用,以关闭并重新启动应用。然后,您会看到更新后的地图。
JavaScript
如需在应用代码中创建具有地图 ID 的地图,请执行以下操作:
如果您已使用嵌入式 JSON 代码自定义地图,请从 MapOptions
对象中移除 styles
属性;否则,请跳过此步骤。
使用 mapId
属性向地图添加地图 ID。例如:
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
mapId: 'MAP_ID'
});
静态地图
如需向使用某项 Web 服务 API 的新地图或现有地图添加地图 ID,请附加 map_id
网址参数,并将其设置为您的地图 ID。此示例展示了如何使用 Maps Static API 将地图 ID 添加到地图中。
<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=MAP_ID&signature=YOUR_SIGNATURE" />

如果您在添加地图 ID 之前已在 Maps Static 网址中添加数字签名,则需要在添加地图 ID 后
创建并添加新的数字签名。生成新的网址签名密钥时,请务必从网址中移除之前的数字签名。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-31。
[null,null,["最后更新时间 (UTC):2025-08-31。"],[[["\u003cp\u003eA map ID is a unique identifier that represents a single Google Map instance, used to manage, style, or enable features on maps across various platforms (JavaScript, Android, iOS, Static Maps).\u003c/p\u003e\n"],["\u003cp\u003eMap IDs are created within the Google Cloud console on the Map Management page, requiring Editor or Owner permissions.\u003c/p\u003e\n"],["\u003cp\u003eTo use a map ID, you need to integrate it into your application code based on the specific platform (JavaScript, Android, iOS, or Static Maps) you're working with, following the provided instructions.\u003c/p\u003e\n"],["\u003cp\u003eCloud-based map styling allows you to associate a style with your map ID, impacting its visual appearance on the map.\u003c/p\u003e\n"],["\u003cp\u003eMap IDs can be added to the Maps Static API by appending the 'map_id' URL parameter, and a new digital signature might be required for existing URLs.\u003c/p\u003e\n"]]],[],null,["# How to create map IDs\n\nSelect platform: [Android](/maps/documentation/android-sdk/map-ids/get-map-id \"View this page for the Android platform docs.\") [iOS](/maps/documentation/ios-sdk/map-ids/get-map-id \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/map-ids/get-map-id \"View this page for the JavaScript platform docs.\") [Web Service](/maps/documentation/maps-static/map-ids/get-map-id \"View this page for the Web Service platform docs.\")\n\n\u003cbr /\u003e\n\n| **Paid feature:**\n| Features accessed by adding a [map ID](/maps/documentation/get-map-id) triggers a map\n| load charged against the Dynamic Maps SKU for Android and iOS. See\n| [Google Maps Billing](/maps/billing-and-pricing/sku-details#dynamic-maps-ess-sku) for more information.\n\nA map ID is a unique identifier that represents Google Map styling and configuration settings that are stored in Google Cloud. You use map IDs to enable features or manage or style maps on your websites and in your applications. You can create map IDs for each platform you need--JavaScript, Android, iOS, or Static maps--in your Google Cloud console project on the **Map Management** page.\n\nFor more details and features that use map IDs,\nsee [Map ID overview](/maps/documentation/javascript/map-ids/mapid-over).\n\nRequired permissions\n--------------------\n\nTo create or manage any map IDs in your project, you\nmust use a principal with the appropriate role-level permissions, Editor or\nOwner, on the Cloud console IAM page for the project. For\ndetails, see\n[IAM basic and predefined roles reference](https://cloud.google.com/iam/docs/understanding-roles#role_types).\n\nCreate map IDs\n--------------\n\nCreate map IDs in the Cloud console following\nthese steps:\n\n1. Sign in to and open a Cloud console project with the\n [required permissions](#permissions).\n\n2. In the Cloud console, go to the\n [Maps Management page](https://console.cloud.google.com/google/maps-apis/studio/maps).\n\n3. Click **Create map ID**.\n\n4. On the **Create new map ID** page, do the following:\n\n 1. For **Name**, give the map ID a name.\n 2. *Optional* : For **Description**, describe what the map ID is used for.\n 3. For **Map type** , select the platform on which you plan to use the map ID. If you choose JavaScript, also choose a **Raster** (the default) or **Vector** map type. For more information on vector maps, see [Vector Maps](/maps/documentation/javascript/vector-map).\n 4. Click **Save** to show your new map ID.\n\nAssociate a map ID to a map style\n---------------------------------\n\nIf you are using cloud-based maps styling, you associate a map style with your\nmap ID. For details, see [Associate your style to a map ID](../cloud-customization/map-styles-leg#associate-style-with-map-id).\n\nAdd the map ID to your app\n--------------------------\n\n### Android\n\nAdd your map ID through a `\u003cfragment\u003e` element in the\nactivity's layout file, by using the `MapView` class, or programmatically\nusing the `GoogleMapOptions` class.\n\nFor example, assume you created a map ID that is stored as a\nstring value named `map_id` in `res/values/strings.xml`: \n\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cresources\u003e\n \u003cstring name=\"map_id\"\u003e\u003cvar label=\"map_id\" translate=\"no\"\u003eMAP_ID\u003c/var\u003e\u003c/string\u003e\n \u003c/resources\u003e\n\nFor maps added through a `\u003cfragment\u003e` element in the activity's layout file,\nall map fragments that should have the custom style must specify the\nmap ID in the `map:mapId` attribute: \n\n \u003cfragment xmlns:map=\"http://schemas.android.com/apk/res-auto\"\n map:name=\"com.google.android.gms.maps.SupportMapFragment\"\n ...\n map:mapId=\"@string/map_id\" /\u003e\n\nYou can also use the `map:mapId` attribute of the `MapView` class to specify\na map ID: \n\n \u003ccom.google.android.gms.maps.MapView\n xmlns:map=\"http://schemas.android.com/apk/res-auto\"\n ....\n map:mapId=\"@string/map_id\" /\u003e\n\nTo specify a map ID programmatically, pass it to a\n`MapFragment` instance using the `GoogleMapOptions` class: \n\n### Java\n\n MapFragment mapFragment = MapFragment.newInstance(\n new GoogleMapOptions()\n .mapId(getResources().getString(R.string.map_id)));\n\n### Kotlin\n\n val mapFragment = MapFragment.newInstance(\n GoogleMapOptions()\n .mapId(resources.getString(R.string.map_id))\n )\n\nIn Android Studio, build and run your app as you normally would. Custom\nstyles configured in the first step are applied to all maps with\nthe specified map ID.\n\n### iOS\n\nTo instantiate a map using a map ID, do the following:\n\n1. Create a `GMSMapID` with the map ID string from Cloud console.\n2. Create a `GMSMapView` specifying the map ID you just created.\n\n### Swift\n\n let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)\n let mapID = GMSMapID(identifier: \"\u003cvar label=\"map_id\" translate=\"no\"\u003eMAP_ID\u003c/var\u003e\")\n let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)\n self.view = mapView\n\n### Objective-C\n\n GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169\n longitude:-122.336471\n zoom:12];\n GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@\"\u003cvar label=\"map_id\" translate=\"no\"\u003eMAP_ID\u003c/var\u003e\"];\n GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];\n self.view = mapView;\n\nIf you are using your own map ID, you can set your\nmap ID in the Cloud console to have a new style\nat any time, and that style will be reflected on your map view automatically\nfor you and users within about six hours.\n\nIf you want to see the changes immediately, you can close out and restart\nyour app by exiting the app, forcing a quit of the app from the recently-used\napps list, and then reopening it. The updated map will then be visible.\n\n### JavaScript\n\nTo create a map with a map ID in your application code:\n\n1. If you are already customizing your map with embedded JSON code, remove\n the\n [`styles` property](/maps/documentation/javascript/reference/map#MapOptions.styles)\n from your `MapOptions` object; otherwise, skip this step.\n\n2. Add a map ID to the map using the `mapId` property. For example:\n\n```javascript\nmap = new google.maps.Map(document.getElementById('map'), {\ncenter: {lat: -34.397, lng: 150.644},\nzoom: 8,\nmapId: '\u003cvar translate=\"no\"\u003eMAP_ID\u003c/var\u003e'\n});\n```\n\n### Maps Static\n\nTo add a map ID to a new or existing map that uses one of our\nweb-service APIs, append the `map_id` URL parameter and set it to your\nmap ID. This example shows adding a map ID to\na map using Maps Static API. \n\n \u003cimg 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=\u003cvar label=\"map_id\" translate=\"no\"\u003eMAP_ID\u003c/var\u003e&signature=YOUR_SIGNATURE\" /\u003e\n\nIf you have a digital signature in your Maps Static URL before adding your map ID, you will need to [create\nand add a new digital signature](/maps/documentation/maps-static/digital-signature) after adding your map ID. When generating your new URL signing secret, remember to remove your previous digital signature from the URL."]]