Отображение определенного местоположения с помощью UIMapKit - PullRequest
1 голос
/ 11 июня 2011

У меня есть приложение для iPhone с несколькими представлениями, каждое из которых представляет часть мира. Когда мой пользователь нажимает кнопку, чтобы перевести его в это представление, я хочу показать карту с предустановленным местоположением ... т.е. когда нажмите, чтобы перейти в Нью-Йорк, он показывает карту Нью-Йорка

Возможно ли это сделать? Укажите координаты широты и долготы? или каким-то другим способом?

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

-(IBAction)getLocation {
    creteMapView.showsUserLocation = YES;
}

-(IBAction)setMap:(id)sender {

    switch (((UISegmentedControl *)sender).selectedSegmentIndex)
    {
        case 0:
        {
            creteMapView.mapType = MKMapTypeStandard;
            break;
        }
        case 1:
        {
            creteMapView.mapType = MKMapTypeSatellite;
            break;
        }
        case 2:
        {
            creteMapView.mapType = MKMapTypeHybrid;
            break;
        }
    }
}

Это все работает отлично, но вместо текущего местоположения я хочу просто установить уже определенное. Есть идеи?

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 июня 2011

Используйте setRegion в вашем MKMapView.Ему нужен MKCoordinateRegion, который вы создаете с помощью MKCoordinateRegionMake с центральной координатой (широта, долгота) и пролетом (покрытая область).Вы можете получить широту и долготу от API, такого как Google maps, но для этого потребуется полное руководство.

0 голосов
/ 11 июня 2011

добавьте класс, который реализует протокол MKAnnotation, например: http://trac.ilesansfil.org/browser/branches/ilesansfil_iphone_app/STABLE_1.3/Models/LocationAnnotation.h

http://trac.ilesansfil.org/browser/branches/ilesansfil_iphone_app/STABLE_1.3/Models/LocationAnnotation.m

импортировать файл заголовка и попробуйте

CLLocationCoordinate2D coordinate1;
    coordinate1.longitude = 3.35;
    coordinate1.latitude = 44.85;
    LocationAnnotation *loc1 = [[LocationAnnotation alloc] initWithCoordinate:coordinate1];
    [creteMapView addAnnotation:loc1];

, это добавит пин-код к вашемукарта

Вы также можете удалить местоположение пользователя, если хотите:

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