A map ID is a unique identifier that's used to represent a single instance of a Google Map. 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.
What you can do with map IDs
Use map IDs to enable features and styling. Here are some examples of how to use map IDs. For a full list, see Features that use map IDs:
Cloud-based maps styling: Associate a map ID with a map style to style, customize, and manage your maps using the Google Cloud console. Available on all platforms: JavaScript, Android, iOS, and Maps Static API.
Vector maps: Use a map ID to use a map composed of vector-based tiles that are drawn at load time on the client side using WebGL. Available on JavaScript.
Advanced markers: Use a map ID to enable Advanced markers. Available on JavaScript, Android, and iOS.
Example for cloud-based maps styling
To use cloud-based maps styling to style maps on your website and Android apps, you follow these steps:
Create map IDs for each platform you are using. For example, create a JavaScript and an Android map ID. For details, see Create map IDs.
Configure a map style on the Google Cloud console. For details, see cloud-based maps styling.
Associate both of your map IDs with the map style in the Google Cloud console. For details, see Associate map IDs with your style.
Reference the map ID in your website JavaScript and your Android app code. For details, see Add a map ID to your app.
The map style associated with your map IDs is then displayed on your website and in your Android app. You can make updates to your map style in the Cloud console, and changes appear in both places automatically, without the need for any app updates by your customers.
Features that use map IDs
The following table shows the Google Maps Platform features and APIs that use map IDs:
Feature or API | Uses map IDs to accomplish these goals |
---|---|
Advanced markers | Enable advanced markers. You don't need to create a map ID, and can instead use the demo map ID `DEMO_MAP_ID`. |
Data-driven styling for boundaries | Associate the map ID with a set of boundaries and styling to style the map according to the boundaries. |
Data-driven styling for datasets | Associate the map ID with a set of data and styling to style the map according to the dataset. |
Flutter | Style the Google maps used in your Flutter apps. |
Maps Embed API | Specify and style the map to be embedded on a web page. |
Maps JavaScript API | Style the map to be displayed on a web page. |
Maps SDK for Android | Style the map to be displayed in an Android application.1 |
Maps SDK for iOS | Style the map to be displayed in an iOS application.1 |
Maps Static API | Specify and style the map to be rendered as a static image. |
Mobility solutions | Use the Maps JavaScript API and SDKs for Android and iOS to style maps in Mobility solutions.1 |
WebGL (Vector maps) | Enable WebGL features using a JavaScript Vector map ID. |
1 Using a map ID on Maps SDK for Android or Maps SDK for iOS triggers a map load that is charged against the Dynamic Maps SKU.
How to create and use map IDs
A map ID is a unique identifier representing a single instance of a Google Map. You create map IDs and update the map style associated with a map ID in the Cloud console.
Required permissions
To create or manage any map IDs in your project, you must use a principal with the appropriate role-level permissions, Editor or Owner, on the Cloud console IAM page for the project. For details, see IAM basic and predefinied roles reference.
Create map IDs
You can create map IDs and update a style associated with a map ID at any time in the Cloud console.
To create a map ID, follow these steps:
Sign in to and open a Cloud console project with the required permissions.
In the Cloud console, go to the Maps Management page.
Select Create map ID.
On the Create new map ID page, do the following:
- For Name, give the map ID a name.
- Optional: For Description, describe what the map ID is used for.
- 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.
- Select Save to show your new map ID.
Associate a map ID to a map style
These instructions assume that there is at least one existing map style in your project. If you don't have any map styles, see Cloud-based maps styling and select your platform for instructions on how to create one.
- In the Cloud console, go to the Maps Management page.
- From the table, select an existing map ID.
- Under Associated map style, select a map style.
Select Save.
Add the map ID to your app
Android
Add your map ID through a <fragment>
element in the
activity's layout file, by using the MapView
class, or programmatically
using the GoogleMapOptions
class.
For example, assume you created a map ID that is stored as a
string value named map_id
in res/values/strings.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">MAP_ID</string>
</resources>
For maps added through a <fragment>
element in the activity's layout file,
all map fragments that should have the custom style must specify the
map ID in the map:mapId
attribute:
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
map:name="com.google.android.gms.maps.SupportMapFragment"
…
map:mapId="@string/map_id" />
You can also use the map:mapId
attribute of the MapView
class to specify
a map ID:
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
....
map:mapId="@string/map_id" />
To specify a map ID programmatically, pass it to a
MapFragment
instance using the GoogleMapOptions
class:
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))
)
In Android Studio, build and run your app as you normally would. Custom styles configured in the first step are applied to all maps with the specified map ID.
iOS
To instantiate a map using a map ID, do the folowing:
- Create a
GMSMapID
with the map ID string from Cloud console. - Create a
GMSMapView
specifying the map ID you just created.
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;
If you are using your own map ID, you can set your map ID in the Cloud console to have a new style at any time, and that style will be reflected on your map view automatically for you and users within about six hours.
If you want to see the changes immediately, you can close out and restart your app by exiting the app, forcing a quit of the app from the recently-used apps list, and then reopening it. The updated map will then be visible.
JavaScript
To create a map with a map ID in your application code:
If you are already customizing your map with embedded JSON code, remove the
styles
property from yourMapOptions
object; otherwise, skip this step.Add a map ID to the map using the
mapId
property. For example:
map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 8, mapId: 'MAP_ID' });
Maps Static
To add a map ID to a new or existing map that uses one of our
web-service APIs, append the map_id
URL parameter and set it to your
map ID. This example shows adding a map ID to
a map using 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=MAP_ID&signature=YOUR_SIGNATURE" />