Библиотека PHP для легкого получения статического изображения из OpenStreetMap с маркерами, линиями, кругами и многоугольниками.
В этом проекте используется сервер плиток OpenStreetMap Foundation, который полностью работает на пожертвованных ресурсах. Дополнительную информацию см. в Политике использования плиток.
Поставьте галочку этому репозиторию, чтобы поддержать этот проект. Вы будете способствовать повышению популярности этой библиотеки?
Легко установите эту библиотеку с помощью композитора:
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
устанавливает величину заполнения границ карты, которую не следует учитывать при настройке представления в соответствии с границами. Это может быть положительным или отрицательным в зависимости от ваших потребностей.
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 ();
Сорт | Описание |
---|---|
Круг | DantSuOpenStreetMapStaticAPICircle рисует круг на карте. |
ШиротаДлительность | DantSuOpenStreetMapStaticAPILatLng определяет широту и долготу для карты, линий и маркеров. |
Линия | DantSuOpenStreetMapStaticAPILine рисует линию на карте. |
MapData | DantSuOpenStreetMapStaticAPIMapData преобразует широту и долготу в положение пикселя изображения. |
Маркеры | DantSuOpenStreetMapStaticAPIMarkers отображает маркеры на карте. |
OpenStreetMap | DantSuOpenStreetMapStaticAPIOpenStreetMap — это PHP-библиотека, созданная для простого получения статического изображения из OpenStreetMap с маркерами, линиями, многоугольниками и кругами. |
Полигон | DantSuOpenStreetMapStaticAPIPolygon рисует полигон на карте. |
Плиточный слой | DantSuOpenStreetMapStaticAPITileLayer определяет URL-адрес тайлового сервера и соответствующую конфигурацию. |
XY | DantSuOpenStreetMapStaticAPIXY определяет положение пикселей X и Y для карты, линий и маркеров. |
Пожалуйста, создайте этот репозиторий и внесите свой вклад, используя запросы на включение.
Любой вклад, большой или маленький, основные функции, исправления ошибок приветствуются и ценятся, но будут тщательно рассмотрены.