Bibliothèque PHP pour obtenir facilement une image statique d'OpenStreetMap avec des marqueurs, des lignes, des cercles et des polygones.
Ce projet utilise le serveur Tile de la Fondation OpenStreetMap qui fonctionne entièrement avec des ressources données, voir Politique d'utilisation des tuiles pour plus d'informations.
Star ce référentiel pour soutenir ce projet. Vous contribuerez à accroître la visibilité de cette bibliothèque ?
Installez cette bibliothèque facilement avec composer :
composer require dantsu/php-osm-static-api
use DantSu OpenStreetMapStaticAPI OpenStreetMap ;
use DantSu OpenStreetMapStaticAPI LatLng ;
use DantSu OpenStreetMapStaticAPI Polygon ;
use DantSu OpenStreetMapStaticAPI Markers ;
header ( ' Content-type: image/png ' );
( new OpenStreetMap ( new LatLng ( 44.351933 , 2.568113 ), 17 , 600 , 400 ))
-> addMarkers (
( new Markers ( __DIR__ . ' /resources/marker.png ' ))
-> setAnchor (Markers:: ANCHOR_CENTER , Markers:: ANCHOR_BOTTOM )
-> addMarker ( new LatLng ( 44.351933 , 2.568113 ))
-> addMarker ( new LatLng ( 44.351510 , 2.570020 ))
-> addMarker ( new LatLng ( 44.351873 , 2.566250 ))
)
-> addDraw (
( new Polygon ( ' FF0000 ' , 2 , ' FF0000DD ' ))
-> addPoint ( new LatLng ( 44.351172 , 2.571092 ))
-> addPoint ( new LatLng ( 44.352097 , 2.570045 ))
-> addPoint ( new LatLng ( 44.352665 , 2.568107 ))
-> addPoint ( new LatLng ( 44.352887 , 2.566503 ))
-> addPoint ( new LatLng ( 44.352806 , 2.565972 ))
-> addPoint ( new LatLng ( 44.351517 , 2.565672 ))
)
-> getImage ()
-> displayPNG ();
->fitToDraws(int $padding = 0)
->fitToMarkers(int $padding = 0)
->fitToDrawsAndMarkers(int $padding = 0)
->fitToPoints(LatLng[] $points, int $padding = 0)
$padding
définit la quantité de remplissage dans les bordures de la carte qui ne doit pas être prise en compte lors de la configuration de la vue pour qu'elle s'adapte aux limites. Cela peut être positif ou négatif selon vos besoins.
use DantSu OpenStreetMapStaticAPI OpenStreetMap ;
use DantSu OpenStreetMapStaticAPI LatLng ;
use DantSu OpenStreetMapStaticAPI Polygon ;
use DantSu OpenStreetMapStaticAPI Markers ;
header ( ' Content-type: image/png ' );
( new OpenStreetMap ( new LatLng ( 0 , 0 ), 0 , 600 , 400 ))
-> addMarkers (
( new Markers ( __DIR__ . ' /resources/marker.png ' ))
-> setAnchor (Markers:: ANCHOR_CENTER , Markers:: ANCHOR_BOTTOM )
-> addMarker ( new LatLng ( 44.351933 , 2.568113 ))
-> addMarker ( new LatLng ( 44.351510 , 2.570020 ))
-> addMarker ( new LatLng ( 44.351873 , 2.566250 ))
)
-> addDraw (
( new Polygon ( ' FF0000 ' , 2 , ' FF0000DD ' ))
-> addPoint ( new LatLng ( 44.351172 , 2.571092 ))
-> addPoint ( new LatLng ( 44.352097 , 2.570045 ))
-> addPoint ( new LatLng ( 44.352665 , 2.568107 ))
-> addPoint ( new LatLng ( 44.352887 , 2.566503 ))
-> addPoint ( new LatLng ( 44.352806 , 2.565972 ))
-> addPoint ( new LatLng ( 44.351517 , 2.565672 ))
)
-> fitToDraws ( 10 )
-> getImage ()
-> displayPNG ();
Classe | Description |
---|---|
Cercle | DantSuOpenStreetMapStaticAPICircle dessine un cercle sur la carte. |
LatLng | DantSuOpenStreetMapStaticAPILatLng définit la latitude et la longitude pour la carte, les lignes et les marqueurs. |
Doubler | DantSuOpenStreetMapStaticAPILine trace une ligne sur la carte. |
Données cartographiques | DantSuOpenStreetMapStaticAPIMapData convertit la latitude et la longitude en position des pixels de l'image. |
Marqueurs | DantSuOpenStreetMapStaticAPIMarkers affiche des marqueurs sur la carte. |
OuvrirStreetMap | DantSuOpenStreetMapStaticAPIOpenStreetMap est une bibliothèque PHP créée pour obtenir facilement une image statique d'OpenStreetMap avec des marqueurs, des lignes, des polygones et des cercles. |
Polygone | DantSuOpenStreetMapStaticAPIPolygon dessine un polygone sur la carte. |
Calque de tuiles | DantSuOpenStreetMapStaticAPITileLayer définit l'URL du serveur de tuiles et la configuration associée |
XY | DantSuOpenStreetMapStaticAPIXY définit la position des pixels X et Y pour la carte, les lignes et les marqueurs. |
Veuillez créer ce référentiel et contribuer en utilisant des demandes d'extraction.
Toutes les contributions, grandes ou petites, les fonctionnalités majeures, les corrections de bugs, sont les bienvenues et appréciées mais seront soigneusement examinées.