2013-09-22 3 views
4

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

Я попытался установить в регионе, как это:

MKCoordinateRegion currentRegion = self.mapView.region; 
currentRegion.span.latitudeDelta *= 4; 
currentRegion.span.longitudeDelta *= 4; 
[self.mapView setRegion:currentRegion]; 

Это отъезжает на карте 4x, но с поддержкой отслеживания пользователей, IOS автоматически наводится в исходный уровень масштабирования с анимацией. Я не могу заставить любой регион держаться. Я предполагаю, что MapRect будет иметь такое же поведение, но я не пробовал.

Кто-нибудь знает, как это сделать?

Согласно документации по setUserTrackingMode:

Если карта масштаба изображения, вид карты автоматически фокусируется на местоположении пользователя, эффективно изменяя текущую видимую область.

Так что я понимаю, что это может быть невозможно. Тем не менее, пользователь может ущипнуть, чтобы уменьшить масштаб, и режим отслеживания пользователя остается включенным без изменения времени. Любые творческие идеи очень ценятся.

ответ

1

Вы не можете контролировать поведение масштабирования при использовании встроенных режимов отслеживания. Возможно, вы захотите проверить что-то вроде MapBox iOS SDK, которое имеет такой же внешний вид и поведение, что и MapKit, но позволит вам настроить это поведение.

Смежные вопросы