又見面了,雖然我對你協助不大,畢竟你還是選我正確答案了,那我就在給你提點協助不大的建議。
根據地理座標建立瓦片地圖會比較好些。下面是轉換方法
| 12345678910111213141516 |
//將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。
瓦片是根據從上到下、從左至右的原則來編號的。
向左轉|
向右轉
以上就是我整理的。希望對你有協助。