【问题标题】:How to set a zoom level as 15 in the MapKit using iPhone sdk如何使用 iPhone sdk 在 MapKit 中将缩放级别设置为 15
【发布时间】:2011-04-15 03:56:10
【问题描述】:

我正在实现一个基于 MapKit 的应用程序。我需要将缩放级别设置为 15。基于此我需要更改区域。我尝试使用以下代码,但它没有按预期工作。当我使用返回的区域并设置为 Mapview 时,它会出现“NSInvalidArgumentException”之类的异常,原因:'Invalid Region'”。你们能提出解决这个问题的完美方法吗?

-(MKCoordinateRegion)getRegoinBasedOntheZoomLevel:(int)zoom

{

MKCoordinateRegion region;
MKCoordinateSpan span;  

if (coords1.latitude != 0 && coords1.longitude !=0) 
{
    region.center = coords1;
}
else 
{
    region.center=mainMapView.region.center;
}
span.latitudeDelta=mainMapView.region.span.latitudeDelta *2*zoom;
span.longitudeDelta=mainMapView.region.span.longitudeDelta *2*zoom;
region.span=span;
return region;

}

提前致谢。 Sekhar Bethalam。

【问题讨论】:

    标签: objective-c ios4


    【解决方案1】:

    Sekhar,我不太确定您的代码试图实现什么 - 它是将(未指定的)跨度乘以 2*zoom:我很确定它不会按照您说的那样做。 “缩放”通常定义为介于 0 和 N 之间的数字 n,其中 2^n 是地球周围地图块的数量。

    与其试图解释理论,不如看this post,我发现(通过搜索这个论坛)提供了一个很好的概述,包括对墨卡托投影的理论和实践的极好描述的超链接,地图瓦片,甚至actual MKMapView code you need.

    【讨论】:

    • @Echelon:谢谢你的重播,我会调查一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2023-03-20
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    相关资源
    最近更新 更多