iphone - 获取地图可见部分的图块

时间:2012-03-08 14:21:38

标签: iphone objective-c google-maps

我需要能够获取我正在显示的地图中包含的图块。

我的合作伙伴正在使用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 个答案:

答案 0 :(得分:0)

在这个例子中,您将看到它是如何完成的。 一个非常好的方法 https://github.com/mtigas/iOS-MapLayerDemo