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を計算する適切な方法は何ですか?