代码之家  ›  专栏  ›  技术社区  ›  nevan king

检查一个协调区域是否正常

  •  6
  • nevan king  · 技术社区  · 16 年前

    有没有办法快速测试 MKCoordinateRegion setRegion 在我真的这么做之前。意志 MKCoordinateRegionMake 测试我给它的值?

    谢谢

    2 回复  |  直到 16 年前
        1
  •  10
  •   nevan king    11 年前

    原来我把纬度和经度调换了。以下是我最终使用的代码:

    // 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;
    }
    
        2
  •  -1
  •   TechZen    16 年前

    我没怎么摆弄这张地图,所以还是把这张放在心上吧。

    在所有情况下,纬度和经度的值都应介于-180和180之间。

    我不认为交换纬度和经度会导致崩溃。它们都有完全相同的单位(度)和范围(-180-->180). 纬度的所有有效值也是经度的有效值,反之亦然。因此,MKCoordinateRegionMake无法判断您是否交换了这些值,因为它们仍然是有效的坐标,只是不在您想要的位置附近。

    我想你的问题在别处。