为了缓存切片以供离线使用,我尝试根据一定的缩放级别计算切片坐标。计算的 x 坐标是正确的,但 y 坐标不正确。
这个旧示例将实际接收到的坐标与计算的坐标进行比较。(点击地图显示结果)
我使用 map.project(latlng,zoom) 来获取投影坐标,然后除以 tileSize 为 256。这种方法是否正确?
编辑: 感谢Ivan Sanchez对 TMS 中 y 反转的指导。实际上,在使用 map.project(latlng,zoom) 投影点之后,您需要按如下方式反转 y 坐标:
- 您为相应的缩放级别计算 _globalTileRange(zoom),然后
- InvertedY = _globalTileRange(zoom).max.y - y ;
这是另一个链接,显示了当前地图缩放的 y 坐标的正确计算,对于其他缩放级别,需要相应地重新计算 globalTileRange。
问候,