2012-03-08 37 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

回答

相关问题