Tro*_*ott 14 google-maps tile google-maps-api-3
我有一个大型高分辨率图像,我正在使用Google Maps v3 API进行叠加.这适用于具有合理网络连接的台式机和笔记本电脑,但毫不奇怪它对移动用户来说效果不佳.
什么是在各种缩放级别将图像分解为2D图块的最佳/最简单的方法,以便我可以通过API充当Google地图的图块服务器?
是否有一个程序可以为我可靠地生成切片,并为每个生成的切片提供必要的缩放和坐标和/或如果我提供缩放和坐标,给我正确的切片?
一旦你收集到正确的信息,是否可以很容易地编写一个磁贴服务器来实现它?也许那里有我可以用作模型的源代码?(我发现了一个瓦服务器在http://blog.gmapify.fr/a-map-tile-server-part-2-understanding-google-maps-tile-overlays-and-building-up-a-tile-server这肯定是有帮助的,但它不提供来自源图像的图块,所以我必须至少计算出那部分......)
或者也许有一步一步的算法我可以手动跟随,如果这更直接?(因为它只有一个图像,并且它覆盖了地图上可能是一平方英里的区域,如果不是这样的话,手动执行它可能是可行的.)
Tom*_*mik 13
你可以查看MapTiler http://code.google.com/p/maptiler/.它可以生成您需要的瓷砖.
平铺服务器非常容易编写.最简单的方法是在目录结构中托管静态文件(您的磁贴).然后目录结构通常是servername/zoom/x/y.png(或zoom/y/x.png).这种结构也由MapTiler生成.MapTiler还使用图块生成示例网页(但我猜它使用的是Google Maps API v2).
有关在Google Maps API v3中使用图块的信息,请访问:http://code.google.com/apis/maps/documentation/javascript/maptypes.html#CustomMapTypese
您可以在客户端完成整个操作,而无需预切割图块
参见https://github.com/Murtnowski/GMap-JSlicer
slicer = new JSlicer(document.getElementById('map'), 'myImage.png');
slicer.init();
Run Code Online (Sandbox Code Playgroud)
很简单的。