Auf dieser Seite erfahren Sie, wie Sie einer Karte ein Dataset hinzufügen und Stile anwenden.
Vorbereitung
Bevor Sie fortfahren, sollten Sie eine Karten-ID, einen Kartenstil und eine Dataset-ID haben.
Dataset-ID mit Kartenstil verknüpfen
Wenn Sie die Elemente eines Datensatzes gestalten möchten, wenden Sie eine Stilfunktion auf die Elementebene des Datensatzes einer Karte an. Die Dataset-Featureebene wird erstellt, wenn Sie ein Dataset mit einem Kartenstil verknüpfen.
So verknüpfen Sie Ihr Dataset mit dem verwendeten Kartenstil:
- Rufen Sie in der Google Cloud Console die Seite Datasets auf.
- Klicken Sie auf den Namen des Datasets. Daraufhin wird die Seite Dataset-Details angezeigt.
- Klicken Sie auf den Tab Vorschau.
- Klicken Sie im Bereich Verknüpfte Kartenstile auf KARTENSTIL HINZUFÜGEN.
- Kreuzen Sie die Kästchen für die zu verknüpfenden Kartenstile an und klicken Sie dann auf SPEICHERN.
Stile auf das Dataset anwenden
Wenn Sie ein Element der Datenebene gestalten möchten, verwenden Sie einen Stilabschluss, der eine GMSDatasetFeature
akzeptiert und eine GMSFeatureStyle
zurückgibt, um Stilattribute zu definieren. Legen Sie dann für die Stileigenschaft einen Stilabschluss fest, der die Stillogik enthält.
Der Stilabschluss muss deterministisch sein und bei der Anwendung konsistente Ergebnisse zurückgeben. Wenn Stilspezifikationen für ein Element geändert werden, muss der Stil noch einmal angewendet werden.
Strich, Füllung und Punktradius festlegen
Wenn Sie ein Element in der Stilfunktion der Style-Fabriken stylen, können Sie Folgendes festlegen:
Strichfarbe und Deckkraft des Rahmens gemäß der
UIColor
-Klasse. Der Standardwert ist „transparent“ (UIColor.clearColor
).Die Strichbreite des Rahmens in Bildschirmpixeln. Der Standardwert liegt bei 2.
Füllfarbe und Deckkraft, wie von der Klasse
UIColor
definiert. Der Standardwert ist „transparent“ (UIColor.clearColor
).Punktradius einer Punktansicht zwischen 0 und 128 Pixeln.
Einfache Stilregeln verwenden
Die einfachste Möglichkeit, Elemente zu gestalten, ist die Definition konstanter Stilattribute wie Farbe, Deckkraft und Linienbreite. Sie können Stiloptionen für Elemente direkt auf eine Elementebene des Datasets anwenden oder sie in Verbindung mit benutzerdefinierten Stilen verwenden.
Swift
let mapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12)) let layer = mapView.datasetFeatureLayer(of: "YOUR_DATASET_ID") // Define a style with green fill and stroke. // Apply the style to all features in the dataset. layer.style = { feature in let style = MutableFeatureStyle() style.fillColor = .green.withAlphaComponent(0.1) style.strokeColor = .green style.strokeWidth = 2.0 return style }
Objective-C
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude: 40.7 longitude: -74.0 zoom:12]]; GMSDatasetFeatureLayer *layer = [mapView datasetFeatureLayerOfDatasetID:@"YOUR_DATASET_ID"]; // Define a style with green fill and stroke. // Apply the style to all features in the dataset. layer.style = ^(GMSDatasetFeature *feature) { GMSMutableFeatureStyle *style = [GMSMutableFeatureStyle style]; style.fillColor = [[UIColor greenColor] colorWithAlphaComponent:0.1]; style.strokeColor = [UIColor greenColor]; style.strokeWidth = 2.0; return style; };
Deklarative Stilregeln verwenden
Sie können Stilregeln deklarativ basierend auf einem Attribut des Elements festlegen und auf den gesamten Datensatz anwenden. Über die Stilfunktion für Elemente können Sie auch nil
zurückgeben, z. B. wenn ein Teil der Elemente unsichtbar bleiben soll.
Verwenden Sie beispielsweise GMSDatasetFeature.datasetAttributes
, um den Wert eines Datensatzattributs für ein Element zurückzugeben. Anschließend können Sie das Styling des Elements anhand seiner Attribute anpassen.
In diesem Beispiel wird der Wert des Attributs „highlightColor“ jedes Elements eines Datensatzes festgelegt, um das Styling zu steuern:
Swift
layer.style = { feature in var attributeColor: String = feature.datasetAttributes["highlightColor"] // Conditionalize styling based on the value of the "highlightColor" attribute. ... }
Objective-C
// Apply the style to a single dataset feature. layer.style = ^(GMSDatasetFeature *feature) { NSString *attributeColor = feature.datasetAttributes[@"highlightColor"]; // Conditionalize styling based on the value of the "highlightColor" attribute. ... };
Stile von einer Ebene entfernen
Wenn Sie Stile von einer Ebene entfernen möchten, legen Sie style
auf null
fest:
Swift
layer.style = nil
Objective-C
layer.style = nil;
Über die Stilfunktion für Elemente können Sie auch nil
zurückgeben, z. B. wenn ein Teil der Elemente unsichtbar bleiben soll.