Здесь рассказывается, как настроить стили на основе данных для наборов данных.
Как получить ключ API и включить API
Чтобы использовать стили на основе данных для наборов данных, вам понадобится облачный проект с платежным аккаунтом и включенные Maps SDK для iOS и Maps Datasets API. Дополнительную информацию можно найти в следующих статьях:
Создайте идентификатор карты
Идентификатор карты – это уникальный идентификатор, который представляет спецификацию Google Карты. Вы можете в любой момент создать идентификатор карты и обновить связанный с ним стиль в консоли Google Cloud.

Создайте стиль карты
Чтобы создать стиль, следуйте инструкциям в статье Как создавать и использовать стили карты. Затем свяжите стиль с новым идентификатором карты.
Измените код инициализации карты
Для этого шага требуется идентификатор карты, связанный со стилем, в котором включен хотя бы один слой объектов. Чтобы проверить, правильно ли настроен идентификатор карты в Cloud Console, посмотрите, как он настроен в разделе Управление картами.
Swift
// A map ID using a style with one or more feature layers enabled let mapID = GMSMapID(identifier: "YOUR_MAP_ID") let camera = GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7) let options = GMSMapViewOptions() options.camera = camera options.mapID = mapID let mapView = GMSMapView(options: options)
Objective-C
// A map ID using a style with one or more feature layers enabled GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = camera; options.mapID = mapID; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
Как проверить функции карты
Стили на основе данных для наборов данных подразумевают использование функций, которые активированы в консоли Google Cloud и связаны с идентификатором вашей карты. Поскольку идентификаторы карт могут меняться, вы можете вызвать mapView.mapCapabilities для GMSMapView, чтобы проверить, доступна ли определенная возможность (например, стили на основе данных), прежде чем вызывать ее.
Вы также можете отслеживать изменения в возможностях карты, подписавшись на GMSViewDelegate.
В этом примере показано, как использовать протокол для проверки требований к стилям на основе данных.
Swift
class SampleViewController: UIViewController { private lazy var mapView: GMSMapView = { let options = GMSMapViewOptions() options.mapID = GMSMapID(identifier: "YOUR_MAP_ID") options.camera = GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7) return GMSMapView(options: options) }() override func loadView() { self.view = mapView mapView.delegate = self } } extension SampleViewController: GMSMapViewDelegate { func mapView(_ mapView: GMSMapView, didChange mapCapabilities: GMSMapCapabilityFlags) { if (!mapCapabilities.contains(.dataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } }
Objective-C
@interface SampleViewController: UIViewController <GMSMapViewDelegate> @end @implementation SampleViewController - (void)loadView { GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = camera; options.mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; mapView.delegate = self; self.view = mapView; } - (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities { if (!(mapCapabilities & GMSMapCapabilityFlagsDataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } @end