Ось він, простий спосіб створити власну мапу ;)
Клас PHP MapTiler дозволяє підготувати власне зображення безпосередньо на своєму сайті, для подальшого використання у власній мапі. Він розбиває зображення на плитку стандартного розміру.
Завантажити ось тут PHP MapTiler
Приклад створення власної мапи:
Генеруємо з нашого зображення плитку:
//init $map_tiler = new MapTiler('/full/path/to/my-image.jpg', array( 'tiles_path' => '/full/path/to/where-store-result/' 'zoom_max' => 3, )); //execute try { $map_tiler->process(true); } catch (Exception $e) { echo $e->getMessage(); echo $e->getTraceAsString(); } |
Показуємо мапу використовуючи Leaflet.js:
<html> <head> <link rel="stylesheet" href="dist/leaflet.css" /> </head> <body> <div id="map" style="width: 700px; height: 500px;"></div> <script src="dist/leaflet.js"></script> <script> var tiles = L.tileLayer('tiles-path/{z}/{x}/{y}.jpg', { minZoom: 0, maxZoom: 3, tms: true }); var map = L.map('map', { center: [0, 0], zoom:1, minZoom: 0, maxZoom: 3, //crs: L.CRS.Simple, //available in dev version layers:[tiles] }); </script> </body> </html> |
Hi,
Can we implement maptiler using GD library rather than Imagemagic
yes, if your server have a 100000000TB memory ;)
otherwise with GD you will get the memory usage problem
I tried but works well with zoom up to 4…I need at least 6 . Can you help me?
Thanks
It because your original image smaller than it need for lvl 6.
You need to set param
'scaling_up' => 6
to force image resize up to 6 lvl