Biblioteca PHP para obtener fácilmente imágenes estáticas de OpenStreetMap con marcadores, líneas, círculos y polígonos.
Este proyecto utiliza el servidor Tile de OpenStreetMap Foundation, que se ejecuta completamente con recursos donados; consulte la Política de uso de Tile para obtener más información.
Destaca este repositorio para respaldar este proyecto. ¿Contribuirás a aumentar la visibilidad de esta biblioteca?
Instale esta biblioteca fácilmente con 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
establece la cantidad de relleno en los bordes del mapa que no debe tenerse en cuenta al configurar la vista para que se ajuste a los límites. Esto puede ser positivo o negativo según tus necesidades.
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 ();
Clase | Descripción |
---|---|
Círculo | DantSuOpenStreetMapStaticAPICircle dibuja un círculo en el mapa. |
LatLng | DantSuOpenStreetMapStaticAPILatLng define la latitud y longitud para mapas, líneas y marcadores. |
Línea | DantSuOpenStreetMapStaticAPILine dibuja una línea en el mapa. |
Datos del mapa | DantSuOpenStreetMapStaticAPIMapData convierte la latitud y longitud a la posición de píxeles de la imagen. |
Marcadores | DantSuOpenStreetMapStaticAPIMarkers muestra marcadores en el mapa. |
Abrir mapa de calles | DantSuOpenStreetMapStaticAPIOpenStreetMap es una biblioteca PHP creada para obtener fácilmente imágenes estáticas de OpenStreetMap con marcadores, líneas, polígonos y círculos. |
Polígono | DantSuOpenStreetMapStaticAPIPolygon dibuja un polígono en el mapa. |
Capa de mosaico | DantSuOpenStreetMapStaticAPITileLayer define la URL del servidor de mosaicos y la configuración relacionada |
XY | DantSuOpenStreetMapStaticAPIXY define la posición de los píxeles X e Y para mapas, líneas y marcadores. |
Bifurque este repositorio y contribuya mediante solicitudes de extracción.
Cualquier contribución, grande o pequeña, características importantes y corrección de errores, es bienvenida y apreciada, pero se revisará minuciosamente.