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
Um die Merkmale eines Datasets zu gestalten, wenden Sie eine Stilfunktion auf die Dataset-Featureebene einer Karte. Die Elementebene des Datasets 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 Abschnitt 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
Um ein Element der Dataset-Ebene zu gestalten, verwenden Sie einen Stilabschluss, der ein
GMSDatasetFeature
und gibt GMSFeatureStyle
zurück, um den Stil zu definieren
Attribute. Legen Sie dann die Stileigenschaft auf einen Stilabschluss fest, der folgende Elemente enthält:
Stillogik.
Der Stilabschluss muss deterministisch sein und einheitlich sein wenn es angewendet wird. Wenn Stilspezifikationen für ein Element geändert werden, muss der Stil noch einmal angewendet werden.
Strich, Füllung und Punktradius festlegen
Beim Gestalten eines Elements in der Stil-Factory-Funktion können Sie Folgendes festlegen:
Strichfarbe und Deckkraft des Rahmens gemäß Definition in
UIColor
. Der Standardwert ist transparent (UIColor.clearColor
).Strichbreite des Rahmens in Bildschirmpixeln. Der Standardwert liegt bei 2.
Füllfarbe und Deckkraft gemäß Definition durch die Klasse
UIColor
. Standardeinstellung Der Wert ist transparent (UIColor.clearColor
).Der Punktradius eines Punktelements muss zwischen 0 und 128 Pixeln liegen.
Einfache Stilregeln verwenden
Die einfachste Möglichkeit, Elemente zu gestalten, ist die Definition konstanter Stilattribute wie Farbe, Deckkraft und Linienbreite. Stiloptionen für Elemente direkt auf ein anwenden oder 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 wenden sie auf
das gesamte Dataset an. Du kannst nil
über dein
Stilfunktion für Elemente, z. B. wenn eine Teilmenge von Elementen beibehalten werden soll
unsichtbar sind.
Verwenden Sie beispielsweise die Methode
GMSDatasetFeature.datasetAttributes
um den Wert eines Dataset-Attributs für ein Element zurückzugeben. Sie können sie dann anpassen,
Stil des Elements basierend auf seinen Attributen.
In diesem Beispiel wird der Wert von „highlightColor“ bestimmt. Attribut von jedem eines Datasets zur Steuerung des Stils:
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.