展开全部
又见面了,虽然我对你帮助不大,毕32313133353236313431303231363533e58685e5aeb931333332623432竟你还是选我正确答案了,那我就在给你提点帮助不大的建议。
根据地理坐标建立瓦片地图会比较好些。下面是转换方法//将tile(瓦片)坐标系转换为lnglat(地理)坐标系
public static Lnglat toLnglat(Tile tile) {
double n = Math.pow(2, tile.getZoom());
double lng = tile.getX() / n * 360.0 - 180.0;
double lat = Math.atan(Math.sinh(Math.PI * (1 - 2 * tile.getY() / n)));
lat = lat * 180.0 / Math.PI;
return new Lnglat(lng, lat);
}
//将lnglat地理坐标系转换为tile瓦片坐标系
public static Tile toTile(int zoom, Lnglat lnglat) {
double n = Math.pow(2, zoom);
double tileX = ((lnglat.getLng() + 180) / 360) * n;
double tileY = (1 - (Math.log(Math.tan(Math.toRadians(lnglat.getLat())) + (1 / Math.cos(Math.toRadians(lnglat.getLat())))) / Math.PI)) / 2 * n;
return new Tile(new Double(tileX).intValue(), new Double(tileY).intValue(), zoom);
}
缩放级别决定了地图瓦片的数量。当缩放级别为0时,瓦片数量为1,缩放级别2时,瓦片数量为4,缩放级别为3时,瓦片数量为8,也就是Math.Pow(2, Zoom); 2的缩放级别次方。而缩放级别据我手动尝试,最高可以达到22。
瓦片是根据从上到下、从左到右的原则来编号的。
以上就是我整理的。希望对你有帮助。