Проверка работоспособности MKCoordinateRegion - PullRequest
6 голосов
/ 02 февраля 2010

Есть ли способ быстро проверить, хорош ли MKCoordinateRegion или нет? Я сменил широту на долготу и вызвал сбой приложения. Я бы хотел увидеть, возможно ли выполнить setRegion, прежде чем я это сделаю. Будет ли MKCoordinateRegionMake проверять значения, которые я ему даю?

Спасибо.

Ответы [ 2 ]

10 голосов
/ 04 февраля 2010

Оказывается, я где-то поменял местами широту и долготу. Вот код, который я использовал в итоге:

// 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;
}
0 голосов
/ 02 февраля 2010

Я не слишком возился с картой, поэтому возьмите это с крошкой соли.

Звучит так, как будто вам нужно проверить диапазон значений широты, долготы и диапазона, прежде чем использовать их., Широта и долгота должны во всех случаях иметь значения от -180 до 180.

Edit01:

Я не думаю, что замена широты и долготы может вызватьаварияОба имеют одинаковые единицы измерения (градусы) и диапазоны (-180 -> 180).Все действительные значения широты также являются действительными значениями долготы и наоборот.По этой причине MKCoordinateRegionMake не сможет сказать, что вы поменяли значения местами, потому что они по-прежнему будут действительными координатами, но не там, где вы хотели.

Я думаю, что ваша проблема в другом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...