我刚刚了解到通过云端可以对Google地图进行样式设置,这使得我们无需重新部署应用程序就能轻松地对其进行样式设置。
这里是我找到的Android和IOS的两份文档:
- https://developers.google.com/maps/documentation/android-sdk/cloud-based-map-styling
- https://developers.google.com/maps/documentation/ios-sdk/cloud-based-map-styling#maps_cloud_based_map_styling_init-swift
对于Android而言,似乎这是一个简单的解决方案,只需要将片段添加到xml文件中即可。不幸的是,对于IOS来说,在创建Google Maps时需要对其进行初始化。
例如Android:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>
示例 IOS
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
这似乎会导致许多额外的开销,尤其是与Flutter插件相结合时。也许有一种更简单的方法来添加MapId?目前我在使用这个https://pub.dev/packages/google_maps_flutter插件。