iPhone MapView ограничивается только штатом Миссури

Я делаю приложение для iPhone, которое предназначено для вещей, которые будут доступны только в штате Миссури. Итак, моя идея состоит в том, чтобы ограничить карту только Миссури / регионами, близкими к Миссури. У меня карта работает нормально, отображая местоположение пользователя, и если они обновят местоположение, булавка также переместится. Могу ли я использовать для этого что-то вроде пользовательской аннотации? Или я могу проверить местоположение пользователя и решить, находится ли оно в пределах определенной широты или долготы, и отобразить карту на основе этого?

Я работаю в xCode над этим проектом.


person Matt    schedule 17.10.2010    source источник
comment
Приложение, которое мы создаем, предназначено для фермерских рынков в Миссури и основано только на информации о рынках в Миссури. Поэтому, если вы в Иллинойсе, вы просто смотрите на карту Иллинойса. Это удобная для пользователя вещь, вам не нужно искать по карте и начинать увеличивать и уменьшать масштаб, чтобы найти фермерские рынки только в Миссури.   -  person Matt    schedule 03.11.2010
comment
Я не совсем уверен, что вы здесь пытаетесь сделать или над чем работаете в настоящее время. Цель - запретить пользователю прокрутку за пределами Миссури? Если это так, то это не имеет никакого отношения к аннотациям. Можете ли вы дополнительно указать, что вы хотите делать с настраиваемой аннотацией?   -  person matheeeny    schedule 03.11.2010
comment
Мэтт - я не был серьезным - я просто пошутил как иллинойский житель - мы всегда смеемся над Миссури и Индианой, вот и все - мой комментарий не придал значения вашему вопросу :)   -  person makdad    schedule 04.11.2010
comment
Прямо сейчас у меня сейчас работает карта. Я пытался найти способ сделать именно то, что вы сказали, остановить пользователя от прокрутки за пределами Миссури. Я просто не знал, как это сделать.   -  person Matt    schedule 04.11.2010
comment
Phooze - Без обид, так что не беспокойтесь. В Миссури мы любим подшучивать над Иллинойсом, потому что там особо мало что происходит, кроме Чикаго.   -  person Matt    schedule 04.11.2010


Ответы (2)


Взгляните на протокол MKMapViewDelegate. Там есть методы, которые сообщат вам, когда местоположение пользователя изменилось и когда карта была перемещена. Затем вы можете сделать то, что вам нужно, в зависимости от того, где находится пользователь.

person lyonanderson    schedule 17.10.2010

Задайте точную область, которую вы хотите отобразить на карте, используя свойства MKMapView's region и centerCoordinate. Затем отключите прокрутку и масштабирование, используя zoomEnabled и scrollEnabled одного и того же класса.

person Nick Toumpelis    schedule 02.11.2010
comment
В итоге я сделал что-то подобное. Проблема в том, что если вы действительно хотите увеличить масштаб (iPhone не очень большой, а штат Миссури довольно большой на карте), вы не можете. То, что я закончил, было почти как нарисовать рамку вокруг Миссури с точками широты и долготы и проверить координату userLocation MKMapView, чтобы увидеть, находятся ли они внутри. В противном случае отцентрируйте карту до Колумбии, штат Миссури. - person Matt; 03.11.2010