Biblioteca PHP para obter facilmente imagens estáticas do OpenStreetMap com marcadores, linhas, círculos e polígonos.
Este projeto usa o Tile Server da OpenStreetMap Foundation que funciona inteiramente com recursos doados, consulte Política de uso do Tile para obter mais informações.
Marque este repositório com estrela para apoiar este projeto. Você contribuirá para aumentar a visibilidade desta biblioteca?
Instale esta biblioteca facilmente com o compositor:
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
define a quantidade de preenchimento nas bordas do mapa que não deve ser considerada ao definir a visualização para caber nos limites. Isso pode ser positivo ou negativo de acordo com suas necessidades.
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 ();
Aula | Descrição |
---|---|
Círculo | DantSuOpenStreetMapStaticAPICircle desenhe um círculo no mapa. |
LatLng | DantSuOpenStreetMapStaticAPILatLng define latitude e longitude para mapa, linhas, marcadores. |
Linha | DantSuOpenStreetMapStaticAPILine desenhar linha no mapa. |
Dados do mapa | DantSuOpenStreetMapStaticAPIMapData converte latitude e longitude em posição de pixel da imagem. |
Marcadores | DantSuOpenStreetMapStaticAPIMarkers exibe marcadores no mapa. |
OpenStreetMap | DantSuOpenStreetMapStaticAPIOpenStreetMap é uma biblioteca PHP criada para obter facilmente imagens estáticas do OpenStreetMap com marcadores, linhas, polígonos e círculos. |
Polígono | DantSuOpenStreetMapStaticAPIPolygon desenha polígono no mapa. |
TileLayer | DantSuOpenStreetMapStaticAPITileLayer define URL do servidor de blocos e configuração relacionada |
XY | DantSuOpenStreetMapStaticAPIXY define a posição dos pixels X e Y para mapas, linhas, marcadores. |
Por favor, bifurque este repositório e contribua usando pull requests.
Quaisquer contribuições, grandes ou pequenas, recursos importantes, correções de bugs, são bem-vindas e apreciadas, mas serão revisadas minuciosamente.