0

21までのズームレベルのマップタイプRoad_Mapで期待どおりに機能するoverlay.getTileUrl(tileCoord、zoom)で使用するタイルイメージジェネレーターを作成しました。

function tile2lng(x,z) { return (x/Math.pow(2,z)*360-180); }
function tile2lat(y,z) { var n=Math.PI-2*Math.PI*y/Math.pow(2,z);
return (180/Math.PI*Math.atan(0.5*(Math.exp(n)-Math.exp(-n)))); }

緯度/液化天然ガス37.21/-77.26

衛星地図をレベル18にズームすると、要求されたオーバーレイタイルのタイル座標はlat / lng 27.37/-77.26に計算されます。

実際、マップのロードには2つのパスがあるようです。最初にタイルのlat/lngが正しく要求され、次にProjection_Changedイベントが発生し、次にlat/lngが正しく計算されていない状態でタイルが再要求されます。マップズーム18〜21で表示される衛星タイルの投影法は、標準のGoogleメルカトル図法ではないようです。この変更はoverlay.getTileURL(coord、zoom)によってどのように検出されるべきですか?

マップを18から21にズームしたときに、衛星タイルのlat / lngを計算する適切な方法は何ですか?

4

1 に答える 1

0

答えは: 現時点では、公開されている投影パラメーターはありません。

本当に必要なもの:

map.setTilt(0);

Google マップが自動的にサテライト ズーム 18 以上をレンダリングし、チルトを 45 に設定すると、標準のベース マップ投影が変更されることに気づきませんでした。

幸せな日々!

于 2013-02-11T18:37:45.810 に答える