理智检查MKCoordinateRegion

时间:2010-02-02 14:24:38

标签: iphone cocoa-touch mkmapview

有没有办法快速测试MKCoordinateRegion是否好?我已将纬度换成经度并导致应用程序崩溃。我希望能够看到在实际执行之前是否可以执行setRegionMKCoordinateRegionMake会测试我给出的值吗?

感谢。

2 个答案:

答案 0 :(得分:10)

事实证明我已经在某处交换了我的经纬度。这是我最终使用的代码:

// check for sane span values
if (currentRegion.span.latitudeDelta <= 0.0f || currentRegion.span.longitudeDelta <= 0.0f) {
    currentRegion.span.latitudeDelta = 1.0f;
    currentRegion.span.longitudeDelta = 1.0f;
}
// check for sane center values
if (currentRegion.center.latitude > 90.0f || currentRegion.center.latitude < -90.0f ||
    currentRegion.center.longitude > 180.0f || currentRegion.center.longitude < -180.0f
    ) {
    // Take me to Tokyo.
    currentRegion.center.latitude = 35.4f;
    currentRegion.center.longitude = 139.4f;
}

答案 1 :(得分:-1)

我没有多说这个地图,所以拿出一粒盐。

听起来你需要在使用它们之前对纬度,经度和跨度的值进行范围检查。 纬度和经度在所有情况下都应该在-180到180之间。

Edit01:

我认为交换纬度和经度不会导致崩溃。它们都具有完全相同的单位(度)和范围(-180 - > 180)。纬度的所有有效值也是经度的有效值,反之亦然。出于这个原因,MKCoordinateRegionMake将无法判断您是否已交换了值,因为它们仍然是有效坐标,而不是您想要的任何地方。

<击>

我认为你的问题出在其他地方。