Google maps api 3 我的图像分幅未与谷歌地图对齐

Google maps api 3 我的图像分幅未与谷歌地图对齐,google-maps-api-3,imagemap,tile,maptiler,Google Maps Api 3,Imagemap,Tile,Maptiler,我试图在谷歌地图上显示一个图像(平铺)。它工作正常,只是图像与谷歌地图没有很好地对齐 在生成图像之前,我首先通过使用SphereCalmercator将纬度和经度转换为特定缩放(示例19)的像素位置来计算图像大小、宽度和高度。如谷歌的例子所示 例如: Left Corner Lat,Lng = 23.635069377090115 ,58.09107364729487 Pixel projection using SphericalMercator for zoom 19 , x= 88766

我试图在谷歌地图上显示一个图像(平铺)。它工作正常,只是图像与谷歌地图没有很好地对齐

在生成图像之前,我首先通过使用SphereCalmercator将纬度和经度转换为特定缩放(示例19)的像素位置来计算图像大小、宽度和高度。如谷歌的例子所示

例如:

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
然后我展示这些瓷砖


显示平铺,但没有很好地对齐。我遗漏了什么吗?

如果你想了解球形墨卡托瓷砖背后的数学知识并自己剪切图像,请查看我在页面上准备的mashup和源代码:

它也可以在其他人重写的其他编程语言(PHP、C#等)中使用

如果你只是想解决这个任务,并且有一个完美匹配的覆盖,优化的瓷砖大小,示例查看器不仅适用于Google Maps API,而且更多,只需从下载MapTiler即可

对于缺少地理参考的图像,可以提供边界框(北、南、东、西的坐标),也可以直观地识别地图上的要素,如本视频教程所示: