2012-03-08 10 views
0

私は表示している地図に含まれているタイルを取得する必要があります。iphone - 地図の可視部分のタイルを取得

私のパートナーはAndroidを使用しており、座標をタイルに変換するためにこのアルゴリズムを使用しています。Google Mapsは世界をタイルで分割しています。サーバーに情報をリクエストするにはマップに含まれているタイルが必要ですそれはそれらのタイルに関連しています。

iOsでどのように行うことができますか?

はここで(多分それは役立ちます)アンドロイドでそれを行うための方法です:

lat = mapView.getBounds()[1][0]/1E6; 
lon = mapView.getBounds()[0][1]/1E6; 
int xtile1 = (int)Math.floor((lon + 180)/360 * (1<<zoom)) ; 
int ytile1 = (int)Math.floor((1 - Math.log(Math.tan(Math.toRadians(lat)) + 1/Math.cos(Math.toRadians(lat)))/Math.PI)/2 * (1<<zoom)) ; 
lon = mapView.getBounds()[1][1]/1E6; 
int xtile2 = (int)Math.floor((lon + 180)/360 * (1<<zoom)) ;    
lat = mapView.getBounds()[0][0]/1E6; 
int ytile2 = (int)Math.floor((1 - Math.log(Math.tan(Math.toRadians(lat)) + 1/Math.cos(Math.toRadians(lat)))/Math.PI)/2 * (1<<zoom)) ; 

まず問題、AndroidとiOSでのズームは同じではありませんので、私はさえImは示すものの、異なるデータを取得します地図の同じ部分。

私はそれを回避する方法が必要です。またはiOSでタイルを取得する別の方法

ありがとう。

+1

私はユースケースを見ることができません。本当にデータをGoogleのタイルにバインドしていますか?または地理座標を使用していますか?後者の場合は、地図の目に見える範囲を取得することが最善の方法です。 –

+0

タイルを使用しています。私たちのサーバーでGoogleマップのAPIを使用しているプログラムが実行されており、私たちのサーバーから情報を取得するためにタイルが必要です。 – subharb

+0

これは、利用規約を破る可能性が高いと思われます。 URLがないことを示すURLを入力してください。 –

答えて

関連する問題