我的图片图块未与Google地图对齐

时间:2014-10-17 07:46:33

标签: google-maps-api-3 imagemap tile maptiler

我试图在Google地图上显示图片(图块)。它工作正常,但图像与Google地图没有很好地对齐。

在生成图像之前,我首先使用SphericalMercator计算图像尺寸宽度,高度,通过从纬度和经度转换为像素位置进行特定缩放(示例19)。如示例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 delta和y delta,我用它作为生成图像的宽度,高度

例如:

x2-x1= 21810
y2-y1= 14872

我使用工具将autocad计划转换为具有上述图像宽度,高度的图像。

然后,我使用imageMagic将图像切割成瓷砖:

convert -crop 256x256 test4.png tile%d.png

而不是我展示这些瓷砖。

显示了瓷砖,但它没有很好地对齐。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

如果您希望了解球形墨卡托瓷砖背后的数学并自己剪切图像,请检查我在页面上准备的混搭和源代码:

http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/

它也可以用其他人重写的其他编程语言(PHP,C#等)。

如果您只想解决任务问题 - 并且具有完美匹配的叠加层,优化的图块大小,样本查看器不仅适用于Google Maps API,还可以从http://www.maptiler.com/下载MapTiler。

对于缺少地理配准的图像,您可以提供“边界”框(北,南,东,西的坐标),也可以直观地识别地图上的要素,如本视频教程中所示:http://youtu.be/eJxdCe9CNYg

enter image description here