1. Produkte
  2.   Bild
  3.   Node.js
  4.   StaticMaps
 
  

Open-Source-Bibliothek zum Erstellen statischer Karten in Node.js

Die führende Node.js-Bibliothek ermöglicht das Generieren statischer Karten sowie das Verfolgen von Standorten, das Anzeigen geografischer Daten, das Bereitstellen eines visuellen Kontexts und mehr über die Open Source JS API.

Als Softwareentwickler sind Sie ständig auf der Suche nach innovativen Tools und Technologien, um Ihren Workflow zu optimieren und Ihre Ideen zum Leben zu erwecken. In der Welt der Kartierung und der georäumlichen Entwicklung hat ein solches Tool erheblich an Bedeutung gewonnen: StaticMaps, eine von Stephan Georg entwickelte Open-Source-Bibliothek. Es handelt sich um eine Open-Source-Node.js-Bibliothek, die Softwareentwicklern dabei helfen soll, einfach statische Kartenbilder zu erstellen. Egal, ob Sie eine Anwendung erstellen, die Karten zum Verfolgen von Standorten, Anzeigen geografischer Daten oder einfach zum Bereitstellen eines visuellen Kontexts benötigt, StaticMaps bietet eine einfache, aber leistungsstarke Möglichkeit, hochwertige, anpassbare Karten zu erstellen, ohne interaktive Kartenbibliotheken wie Leaflet oder Google Maps zu benötigen. Mit einfacher Integration und leistungsstarken Anpassungsoptionen ist es ein wertvolles Tool für Entwickler, die nach einer effizienten geografischen Visualisierung suchen.

Im Kern generiert StaticMaps Kartenbilder basierend auf vom Benutzer bereitgestellten Parametern wie Standort, Zoomstufe, Markierungen und sogar Linien für Routen. Im Gegensatz zu dynamischen, interaktiven Karten erstellt es nicht interaktive Bilder, die in Webanwendungen eingebettet oder für andere Zwecke exportiert werden können. Dies macht die Bibliothek ideal für Anwendungsfälle, in denen interaktive Karten unnötig sind und Sie Bandbreite, API-Aufrufe und Komplexität sparen möchten. Die Bibliothek arbeitet mit OpenStreetMap (OSM)-Kacheln, wodurch sie sowohl Open Source als auch kostenlos nutzbar ist und keine Abhängigkeit von proprietären Systemen oder teuren APIs aufweist. Mit seiner umfangreichen Dokumentation und den anpassbaren Optionen ist StaticMaps eine ausgezeichnete Wahl für Entwickler, die ihre Karten- und Geodatenanwendungen auf die nächste Ebene bringen möchten.

Previous Next

Erste Schritte mit StaticMaps

Die empfohlene Methode zur Installation von StaticMaps ist die Verwendung von NPM. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.

StaticMaps über NPM installieren

npm i staticmaps 

Anpassbare Kartenerstellung in Node.js

Eine der Hauptfunktionen der Open-Source-Bibliothek StaticMaps ist die Möglichkeit, hochgradig anpassbare Karten in Node.js-Anwendungen zu erstellen. Softwareentwickler können die Bildabmessungen, Mittelpunktskoordinaten, Zoomstufen, Kachelebenen und vieles mehr angeben. Diese Parameter geben Entwicklern eine detaillierte Kontrolle über das Erscheinungsbild der Karte. Im folgenden Codebeispiel ist die Karte um Berlin, Deutschland, zentriert, mit einer Zoomstufe von 12 und einer Bildgröße von 800 x 600 Pixeln. Sie können diese Parameter ganz einfach an die Anforderungen Ihrer Anwendung anpassen.

Wie erstelle ich eine grundlegende Karte in Node.js-Apps?

const StaticMaps = require('staticmaps');

// Create a new instance of StaticMaps with a specified width and height
const map = new StaticMaps({ width: 800, height: 600 });

// Set the map center and zoom level
map.center = [13.404954, 52.520008]; // Coordinates for Berlin
map.zoom = 12;

// Render and save the map as a PNG file
map.render()
  .then(() => map.image.save('basic_map.png'))
  .catch(err => console.error('Error generating map:', err));

Markierungen zum Markieren von Standorten in Node.js

StaticMaps bietet die Möglichkeit, einer Karte Markierungen hinzuzufügen. Markierungen sind nützlich, um bestimmte Standorte hervorzuheben, z. B. interessante Orte, Benutzerstandorte oder andere wichtige Punkte. Die Open-Source-Bibliothek StaticMaps erleichtert Softwareentwicklern das Hinzufügen von Markierungen zum Markieren eines bestimmten Standorts in ihren Node.js-Anwendungen. Das folgende Beispiel zeigt, wie Sie einer Position auf der Karte eine benutzerdefinierte Markierung (mithilfe eines externen Bilds) hinzufügen. Sie können die Größe und Position der Markierung angeben und für verschiedene Standorte unterschiedliche Symbole verwenden.

Wie füge ich einer Karte Markierungen zur Punktpositionierung in Node.js-Apps hinzu?

// Create a marker object
const marker = {
  coord: [13.405, 52.52], // Berlin coordinates
  img: 'https://path-to-marker-icon.com/marker.png', // Custom marker image
  height: 32,
  width: 32
};

// Add the marker to the map
map.addMarker(marker);

// Render and save the map
map.render()
  .then(() => map.image.save('map_with_marker.png'))
  .catch(err => console.log(err));

Unterstützung mehrerer Ausgabeformate

Die StaticMaps-Bibliothek unterstützt hauptsächlich PNG als Ausgabeformat, aber die zugrunde liegende Bildgenerierungsbibliothek (Sharp) ermöglicht es Ihnen, Bilder in verschiedene andere gängige Dateiformate wie JPEG, GIF oder sogar PDF zu konvertieren. Dies kann praktisch sein, wenn Sie Karten in verschiedene Arten von Dokumenten oder Medien integrieren. Das Wechseln zwischen den Formaten ist einfach, da Sie beim Speichern der Karte nur die Dateierweiterung ändern müssen. Hier ist ein Beispiel, das zeigt, wie dies in Node.js-Anwendungen erreicht werden kann.

Wie speichere ich eine Karte im JPEG-Format über die JavaScript-API?

map.render()
  .then(() => map.image.save('output_map.jpg'))  // Saving as a JPEG
  .catch(err => console.log('Error saving as JPEG:', err));

Polylinien zum Zeichnen von Routen oder Grenzen

Polylinien sind für die Visualisierung von Pfaden oder Grenzen auf einer Karte unerlässlich. Sie können StaticMaps zum Zeichnen von Polylinien verwenden, was es zu einer großartigen Wahl für Anwendungen macht, die Routen anzeigen, wie Lieferdienste oder Fitness-Tracking-Apps. Das folgende Beispiel zeigt, wie eine rote Polylinie zwischen mehreren Koordinaten gezeichnet wird, um eine Route darzustellen. Sie können die Farbe und Breite der Polylinie ganz einfach an den Stil Ihrer Anwendung anpassen.

Wie füge ich einer Karte in einer Node.js-Umgebung Polylinien hinzu?

// Define a polyline with multiple coordinates
const polyline = {
  coords: [
    [13.405, 52.52], // Starting point in Berlin
    [13.4, 52.51],   // Intermediate point
    [13.42, 52.49]   // Ending point
  ],
  color: '#FF0000', // Red line
  width: 3          // Line width in pixels
};

// Add the polyline to the map
map.addLine(polyline);

// Render and save the map
map.render()
  .then(() => map.image.save('map_with_polyline.png'))
  .catch(err => console.error('Error rendering polyline map:', err));
 Deutsch