2012-03-08 38 views
0

我需要能夠獲取包含在我顯示的地圖中的圖塊。iphone - 獲取地圖可見部分的圖塊

我的合作伙伴正在使用Android,他正在使用此算法將座標轉換爲Tiles,顯然Google地圖已將世界劃分爲瓦片,並且我需要包含在地圖中的瓦片才能向我的服務器請求信息這與那些瓷磚有關。

你知道如何爲iOs完成嗎?

這裏做android系統的方式(也許它會幫助):

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是不一樣的,所以我會得到儘管即時通訊顯示不同的數據同一張地圖。

我需要一種方法來解決這個問題。或者在iOS中獲取瓷磚的另一種方法

謝謝。

+1

我看不到一個用例。你真的把你的數據綁定到谷歌的瓷磚嗎?或者你使用地理座標?如果是後者,那麼獲取地圖的可見邊界是一條可行的路線。 – 2012-03-08 15:02:59

+0

我使用的瓷磚,因爲我們有一個程序運行在我們的服務器,使用谷歌地圖的API,我需要瓷磚從我們的服務器獲取信息。 – subharb 2012-03-08 15:34:31

+0

聽起來這很可能會破壞條款。請給出一個URL來證明它沒有。 – 2012-03-08 15:51:24

回答

相關問題