我试图在谷歌地图上显示一张图片(瓷砖)。它工作得很好,除非图像与谷歌地图没有很好的对齐。
在生成图像之前,首先使用SphericalMercator将图像大小、宽度、高度从纬度和经度转换为像素位置(示例19)。如Google示例https://developers.google.com/maps/documentation/javascript/examples/map-coordinates所示
例如:
Left Corner Lat,Lng = 23.635069377090115 ,58.09107364729487
Pixel projection using SphericalMercator for zoom 19 , x= 88766786 , y=58035976
bottom, right Lat,Lng = 23.598520856653636, 58.14957298218598
Pixel projection using SphericalMercator for zoom 19 , x= 88788596 , y=58050848有一次,我得到了上、左、下、右角的像素值。我计算了作为生成图像的宽度和高度的x-增量和y-δ。
例如:
x2-x1= 21810
y2-y1= 14872我用一个工具把autocad的图样转换成上面的图像宽度、高度。
然后,我使用imageMagic将图像分割成块:
convert -crop 256x256 test4.png tile%d.png而不是我展示这些瓷砖。
瓷砖显示,但它不是很好地对齐。我错过了什么吗?
发布于 2014-10-18 08:17:16
如果您热衷于理解球墨卡托瓷砖背后的数学,并亲自切割图像,请查看我在页面上准备的mashup和源代码:
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
它也可在其他人重写的其他编程语言(PHP、C#等)中使用。
如果你只想解决这个问题--并且有一个完全匹配的覆盖层,优化了瓷砖的大小,那么示例查看器不仅可以用于Google,而且还可以从http://www.maptiler.com/下载更多的http://www.maptiler.com/。
对于缺少地理参考的图像,您可以提供边界框(北、南、东、西的坐标),或者可以直观地识别地图上的特征,如本视频教程所示:http://youtu.be/eJxdCe9CNYg。

https://stackoverflow.com/questions/26420287
复制相似问题