So fügen sie vektor-funktionen zu einer openlayers 3-karte hinzu

OpenLayers ist ein leistungsfähiges jаvascript-Tool, mit dem wir alle möglichen Karten auf einer Website erstellen und anzeigen können. In diesem Artikel werden Sie beim Hinzufügen eines Punkts und einer Zeilenzeichenfolge-Funktion leitet, wodurch ihre Projektionen zur Verwendung von Koordinaten umgewandelt werden, und fügen Sie dann eine Farbe hinzu, indem Sie den Stil der Ebene festlegen.

Bitte beachten Sie, dass Sie über eine funktionierende OpenLayers-Karte verfügen, die in einer Webseite installiert ist, um diesem Artikel zu folgen. Wenn Sie keinen haben, lesen Sie, wie Sie eine Karte mit OpenLayers 3 erstellen.

Schritte

Teil 1 von 3:
Hinzufügen von Point- und Line-Zeichenfolgen-Funktionen
1. Erstellen Sie eine Punktfunktion. Kopieren Sie einfach die folgende Codezeile in Ihre Element:.
var point_feature = new ol.Feature({ })-
  • 2. Stellen Sie die Geometrie des Punkts ein. Um OpenLayers zu erzählen, wo den Punkt gestellt werden soll, müssen Sie eine Geometrie erstellen und ein Satz von Koordinaten geben, das ein Array in Form von [Längengrad (E-W), Latitude (N-S) ist]. Der folgende Code erstellt diese und das Set ist die Geometrie des Punkts:
    var point_geom = neues ol.Geom.Punkt ([20, 20]) - Point_Feature.Setgeometry (Point_GEOM)-
  • 3. Erstellen Sie eine Zeilenzeichenfolge-Funktion. Linienzeichenfolgen sind gerade Linien in Segmente. Wir erstellen sie genauso wie Punkte, aber wir bieten ein Paar Koordinaten für jeden Punkt der Linienzeichenfolge an:
    var linestring_feature = new ol.Funktion ({Geometrie: New OL.Geom.Linestring ([[[10, 20], [20, 10], [30, 20]]})})-
  • 4. Fügen Sie die Funktionen einer Vektorschicht hinzu. Um die Funktionen der Karte hinzuzufügen, müssen Sie sie zu einer Quelle hinzufügen, die Sie zu einer Vektorebene hinzufügen, die Sie dann zur Karte hinzufügen können:
    var vector_layer = neues ol.Schicht.Vektor ({Quelle: Neue ol.Quelle.Vektor ({Features: [Point_Feature, Linestring_Feature]})}) Karte.Addlayer (vector_layer)-
  • Teil 2 von 3:
    Umwandeln der Geometrien der Funktionen zur Verwendung von Koordinaten

    Wie bei jeder leistungsstarken Mapping-Software können OpenLayers-Karten unterschiedliche Ebenen mit unterschiedlichen Anzeigen von Informationen haben. Weil die Erde ein Globus ist und nicht flach ist, wenn wir versuchen, es auf unseren flachen Karten anzuzeigen, muss die Software die Standorte anpassen, um die flache Karte anzupassen. Diese unterschiedlichen Möglichkeiten zum Anzeigen von Karteninformationen werden aufgerufen Prognosen. Um eine Vektorschicht und eine Fliesenschicht zusammen auf derselben Karten zu verwenden, müssen wir die Schichten von einem Projektion in einen anderen umwandeln.

    1. Legen Sie die Funktionen in ein Array ein. Wir beginnen mit den Funktionen, die wir in ein Array verwandeln möchten, das wir iterativer können.
    VAR-Funktionen = [Point_Feature, Linestring_Feature]-
  • 2. Schreiben Sie die Transformationsfunktion. In OpenLayers können wir die Funktion der Transformation () auf dem Geometrie-Objekt jeder Funktion verwenden. Setzen Sie diesen Transformationscode in eine Funktion, die wir später anrufen können:
    Funktion transform_geometrie (Element) {var aktuell_projektion = neues ol.projiziert.Projektion ({Code: "EPSG: 4326"}) - var new_projektion = tile_layer.getSource ().Getprojektion () - Element.GETGENOME ().Transformation (current_projektion, new_projektion) -) -}
  • 3. Rufen Sie die Transformationsfunktion auf den Funktionen an. Jetzt einfach durch das Array ierieren.
    Eigenschaften.foreach (transform_geometrie)-
  • Teil 3 von 3:
    Festlegen des Art der Vektorebene

    Um zu ändern, was jede Funktion auf der Karte aussieht, müssen wir einen Stil erstellen und anwenden. Stile können Farben, Größen und andere Attribute von Punkten und Zeilen ändern, und sie können auch Bilder für jeden Punkt anzeigen, der für kundenspezifische Karten sehr praktisch ist. Dieser Abschnitt ist nicht erforderlich, aber es macht Spaß und nützlich.

    1. Erstellen Sie die Füllung und Stochen. Erstellen Sie ein Füllstilobjekt und eine halbtransparente rote Farbe, und einen Strich (Linien-) Stil, der eine solide rote Linie ist:
    VAR FILL = NEUES OL.Stil.Füllen ({Farbe: [180, 0, 0, 0.3]}) - VAR STROKE = NEUES OL.Stil.Schlaganfall ({Farbe: [180, 0, 0, 1], Breite: 1})-
  • 2. Erstellen Sie den Stil und wenden Sie ihn an die Ebene an. Das OpenLayers-Objekt ist ziemlich leistungsstark, aber wir werden nur den Füllung und den Schlaganfall für jetzt setzen:
    var style = new ol.Stil.Stil ({Bild: Neue ol.Stil.Kreis ({Fill: Fill, Schlaganfall: Schlaganfall, Radius: 8}), Fill: Fill, Schlaganfall: Schlaganfall}) - Vector_layer.Setstyle (Stil)-
  • Bildtitel 7062783 10
    3. Schauen Sie sich die fertige Karte an.
  • Tipps

    Haben Sie keine Angst, zu verwenden OpenLayers 3 API-Dokumentation: Obwohl es zunächst überwältigend ist, ist es wichtig, zu erfahren, wie man neue Dinge mit OpenLayers macht.
    In Verbindung stehende Artikel