Как установить начальный размер в iOS UIMapkit
Я хочу, чтобы мой mapView отображался в исходном размере (определяемый мной уровень масштабирования), причем местоположение телефона центрировалось на карте. Как только это будет сделано, я хочу, чтобы пользователь мог изменять уровни масштабирования и перемещаться по своему сердцу. В следующий раз, когда они войдут в приложение, я хочу повторно инициализировать карту так же, как и в прошлый раз.
Проблема в том, что, когда я захожу, кажется, что он устанавливает размер карты до того, как она получит правильное местоположение.
Может ли кто-нибудь указать мне на пример, который лучше всего инициализировать?
1 ответ
Я решаю эту проблему следующим образом. Я думаю, что код самоочевиден
- (void)mapView:(MKMapView *)mapView
didUpdateUserLocation:(MKUserLocation *)userLocation
{
if (!_userLocated &&
userLocation.coordinate.latitude != 0.0 &&
userLocation.coordinate.longitude != 0.0)
{
MKCoordinateRegion mapRegion;
mapRegion.center = mapView.userLocation.coordinate;
mapRegion.span = MKCoordinateSpanMake(0.04, 0.04);
[mapView setRegion:mapRegion animated: YES];
_userLocated = YES;
}
}
И не забудьте установить UIMapView
делегировать и Shows user location
,