1. Producten
  2.   Afbeelding
  3.   Node.js
  4.   StaticMaps
 
  

Open Source-bibliotheek voor het maken van statische kaarten in Node.js

Met de toonaangevende Node.js-bibliotheek kunt u statische kaarten genereren, locaties volgen, geografische gegevens weergeven, visuele context bieden en meer via de open source JS API.

Als softwareontwikkelaar bent u voortdurend op zoek naar innovatieve tools en technologieën om uw workflow te stroomlijnen en uw ideeën tot leven te brengen. In de wereld van mapping en georuimtelijke ontwikkeling is een dergelijke tool die aanzienlijk aan populariteit heeft gewonnen StaticMaps, een open-sourcebibliotheek die is ontwikkeld door Stephan Georg. Het is een open-source Node.js-bibliotheek die is ontworpen om softwareontwikkelaars te helpen eenvoudig statische kaartafbeeldingen te genereren. Of u nu een applicatie bouwt die kaarten nodig heeft om locaties te volgen, geografische gegevens weer te geven of gewoon visuele context te bieden, StaticMaps biedt een eenvoudige maar krachtige manier om hoogwaardige, aanpasbare kaarten te maken zonder dat u interactieve kaartbibliotheken zoals Leaflet of Google Maps nodig hebt. Met eenvoudige integratie en krachtige aanpassingsopties is het een waardevolle tool voor ontwikkelaars die op zoek zijn naar efficiënte geografische visualisatie.

In de kern genereert StaticMaps kaartafbeeldingen op basis van parameters die door de gebruiker worden opgegeven, zoals de locatie, het zoomniveau, markeringen en zelfs lijnen voor routes. In tegenstelling tot dynamische, interactieve kaarten, creëert het niet-interactieve afbeeldingen die kunnen worden ingebed in webapplicaties of geëxporteerd voor ander gebruik. Dit maakt de bibliotheek ideaal voor use cases waarbij interactieve kaarten onnodig zijn en u wilt besparen op bandbreedte, API-aanroepen en complexiteit. De bibliotheek werkt met OpenStreetMap (OSM)-tegels, waardoor het zowel open source als gratis te gebruiken is, zonder afhankelijkheid van propriëtaire systemen of dure API's. Met zijn uitgebreide documentatie en aanpasbare opties is StaticMaps een uitstekende keuze voor ontwikkelaars die hun mapping- en georuimtelijke applicaties naar een hoger niveau willen tillen.

Previous Next

Aan de slag met StaticMaps

De aanbevolen manier om StaticMaps te installeren is met NPM. Gebruik de volgende opdracht voor een soepele installatie.

Installeer StaticMaps via NPM

npm i staticmaps 

Aanpasbare kaartgeneratie in Node.js

Een van de belangrijkste functies van de open source StaticMaps-bibliotheek is de mogelijkheid om zeer aanpasbare kaarten te genereren in Node.js-applicaties. Softwareontwikkelaars kunnen de afbeeldingsafmetingen, middencoördinaten, zoomniveaus, tegellagen en nog veel meer specificeren. Deze parameters geven ontwikkelaars nauwkeurige controle over het uiterlijk van de kaart. In het volgende codevoorbeeld is de kaart gecentreerd rond Berlijn, Duitsland, met een zoomniveau van 12 en een afbeeldingsgrootte van 800x600 pixels. U kunt deze parameters eenvoudig aanpassen op basis van de behoeften van uw applicatie.

Hoe genereer ik een basiskaart 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));

Markeringen voor het aanwijzen van locaties in Node.js

StaticMaps biedt de mogelijkheid om markeringen aan een kaart toe te voegen. Markeringen zijn handig voor het markeren van specifieke locaties, zoals interessante punten, gebruikerslocaties of andere belangrijke plekken. De open source StaticMaps-bibliotheek maakt het voor softwareontwikkelaars eenvoudig om markeringen toe te voegen om een ​​specifieke locatie aan te wijzen in hun Node.js-applicaties. Het volgende voorbeeld laat zien hoe u een aangepaste markering (met behulp van een externe afbeelding) toevoegt aan een locatie op de kaart. U kunt de grootte en positie van de markering opgeven en verschillende pictogrammen gebruiken voor verschillende locaties.

Hoe voeg ik een markering toe aan een kaart voor puntlocatie in Node.js-apps?

// 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));

Ondersteuning voor meerdere uitvoerformaten

De StaticMaps-bibliotheek ondersteunt voornamelijk PNG als uitvoerformaat, maar de onderliggende bibliotheek voor het genereren van afbeeldingen (Sharp) stelt u in staat om afbeeldingen te converteren naar verschillende andere populaire bestandsformaten, zoals JPEG, GIF of zelfs PDF. Dit kan handig zijn bij het integreren van kaarten in verschillende typen documenten of media. Het wisselen tussen formaten is eenvoudig, omdat u alleen de bestandsextensie hoeft te wijzigen bij het opslaan van de kaart. Hier is een voorbeeld dat laat zien hoe u dit kunt bereiken in Node.js-toepassingen.

Hoe kan ik een kaart opslaan in JPEG-formaat via de JavaScript API?

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

Polylijnen voor het tekenen van routes of grenzen

Polylijnen zijn essentieel voor het visualiseren van paden of grenzen op een kaart. U kunt StaticMaps gebruiken om polylijnen te tekenen, wat het een geweldige keuze maakt voor applicaties die routes weergeven, zoals bezorgservices of fitnesstracking-apps. Het volgende voorbeeld laat zien dat er een rode polylijn wordt getekend tussen verschillende coördinaten om een ​​route weer te geven. U kunt de kleur en breedte van de polylijn eenvoudig aanpassen aan de stijl van uw applicatie.

Hoe voeg ik polylijnen toe aan een kaart in de Node.js-omgeving?

// 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));
 Dutch