Google Maps Platform 提供云端地图样式设置功能,可让您轻松地使用 Google Cloud Console 设置地图样式、自定义和管理地图,从而改善地图的整体用户体验。为了让这些功能易于采用和管理,云端地图样式设置向 Cloud Console 中引入了多种新工具:
- 用于轻松创建样式的样式编辑器。
- 地图 ID 创建和管理。
- 自定义地图样式创建和管理。
- 用于动态更新样式的工具。
为您的应用添加地图 ID
地图 ID 是与特定地图样式或地图项相关联的标识符。在 Google Cloud Console 中配置地图样式,并将其与地图 ID 相关联。然后,当您在代码中引用地图 ID 时,相关联的地图样式便会显示在您的应用中。您后续进行的任何样式更新都会自动显示在您的应用中,无需客户进行任何更新。
您可以使用 MapView
类(或以编程方式使用 GoogleMapOptions
类),通过 activity 布局文件中的 <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>
对于通过 activity 布局文件中的 <fragment>
元素添加的地图,所有应具有自定义样式的地图 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
类将其传递给 SupportMapFragment
实例:
Java
GoogleMapOptions options = new GoogleMapOptions() .mapId("YOUR_MAP_ID"); SupportMapFragment mapFragment = SupportMapFragment.newInstance(options);
Kotlin
val options = GoogleMapOptions() .mapId("YOUR_MAP_ID") val mapFragment = SupportMapFragment.newInstance(options)
或者,将其传递给 MapView
实例:
Java
GoogleMapOptions options = new GoogleMapOptions() .mapId("YOUR_MAP_ID"); MapView mapView = new MapView(context, options);
Kotlin
val options = GoogleMapOptions() .mapId("YOUR_MAP_ID") val mapView = MapView(context, options)
在 Android Studio 中,像往常一样构建并运行应用。自定义样式将应用于具有同一 ID 的所有地图。
使用地图样式编辑器
地图样式编辑器是 Google Cloud Console 中提供的基于 GUI 的工具。