runalyze / static-maps
用于从各种地图瓦片提供商创建静态图像的库。
0.4.2
2024-05-05 19:51 UTC
Requires
- php: >=8.0
- intervention/image: ^2.6
- league/flysystem: ^3.12
- psr/log: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2
- league/flysystem-memory: ^3
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-05 20:39:54 UTC
README
用于从各种地图瓦片提供商创建静态图像的库。StaticMaps将从指定的瓦片提供商获取地图瓦片,并将它们组合成指定大小的静态图像,适用于任何边界框。
StaticMaps需要Intervention Image进行绘制和League\Flysystem进行瓦片缓存。
安装
通过Composer
$ composer require runalyze/static-maps
用法
要查看所需使用语句的完整列表,请参阅example-1.php
$imageManager = new ImageManager(['driver' => 'gd']); $tileService = new OpenStreetMap(); $tileCache = new FilesystemCache(new Filesystem(new Local(__DIR__.'/cache/tiles')), $imageManager); $tileProvider = new TileProvider($tileService, $imageManager, $tileCache); $map = new Map(new Viewport(500, 350, new BoundingBox(53.40, 53.75, 9.90, 10.10), $tileService)); $map->addFeature(new TileMap($tileProvider)); $map->addFeature(new CopyrightNotice($tileService->getAttributionText(), function($font){ $font->file('./resources/font/Roboto-Regular.ttf'); })); $provider = new Renderer($imageManager); $image = $provider->renderMap($map); echo $image->response('png');
还可以使用完整路线作为图像的基础,请参阅example-2.php
$route = new Route([[53.57532, 10.01534], [52.520008, 13.404954], [48.13743, 11.57549]], '#ff5500', 5); $map = new Map(new Viewport(300, 200, $route->getBoundingBox(), $tileService)); $map->addFeature(new TileMap($tileProvider); $map->addFeature($route); // ...
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。