Leaflet - 如何在较大的地图中显示较小的地图(使用图块)?

时间:2018-05-03 07:55:27

标签: leaflet

我有以下问题:我有一张世界地图,它应该作为基本地图和某个地区的地图(例如德国)。两者都以瓷砖格式提供。我想在正确的坐标位置显示世界地图上方的区域地图。问题在于:我可以在世界地图上方显示区域地图,但我不知道如何正确定位。

有人在这里有任何建议吗?

修改

在这里,我创建了一个简单的基本地图,我想在以后显示数据。然后我用gdal2tiles.py将地图划分为瓷砖。

map = Basemap( projection='merc', resolution='c', 
               lat_0=51., lon_0=10., 
               urcrntlat=85.051, urcrnrlon=179.000, 
               llcrnrlat=85.051, llcrnrlon=-179.000
             )
map.bluemarble()

filename='map.png'
dirname = 'tiles'
plt.savefig ( filename )

minZoom = 0
maxZoom = 4
subprocess.check_output( "gdal2tiles.py --leaflet --profile=raster --zoom=" + str(minZoom) + "-" + str(maxZoom) + " " + filename + " " + dirname,
                         stderr=subprocess.STDOUT,
                         shell=True,
                       )

这里我使用tilenames.py中的函数来确定tile应该在哪里。

import tilenames as tn 
for z in range(minZoom, maxZoom):
    x, y = tn.tileXV(lat, lon, z)
    s,w,n,e = tn.tileEdges(x, y, z)

print("z={:d}: x={:d} y={:d} --> urcrnrlat={:.3f}, urcrnrlon={:.3f}, llcrnrlat={:.3f}, llcrnrlat={:.3f}".format(z,x,y,n,e,s,w))

1 个答案:

答案 0 :(得分:0)

请参阅section titled "minimaps and synced maps" in the Leaflet plugins list

这个列表中的某些插件很好地涵盖了您的用例,特别是Leaflet.MinimapLeaflet.Sync。请查看相关文档和示例,并快速查看该列表中的其他插件。