iOS наносит на карту местоположение GPS, определяя местоположение синего шара и знака стрелки на карте - PullRequest
3 голосов
/ 02 октября 2011

1.) Мне нужно, чтобы на карте была голубая окружность / точка, как показано ниже.

  • Как это называется?
  • Как я могу это реализовать?

enter image description here

2.) Как получить стрелку на всплывающем экране, как показано ниже?
enter image description here

1 Ответ

7 голосов
/ 02 октября 2011

Я думаю, что вы ищете это MKMapView; если это так, вам просто нужно добавить его в конструктор интерфейса, и на панели «Инспектор атрибутов» есть опция (флажок), которая позволяет вам «Показывать местоположение пользователей». Если этот флажок установлен, на карте появится синяя точка (если вы используете iPhone Simulator, он будет отображаться только как Cupertio).

Существует множество простых руководств по началу работы с представлениями карт для iPhone. Вот довольно хороший . Если вам это не нравится, тогда я предлагаю вам Google 'MkMapView tutorials', и вы должны найти много полезной информации.

Чтобы узнать местоположение пользователя (широта и долгота), вам нужно будет сделать несколько вещей:

1) Убедитесь, что вы импортировали инфраструктуру CoreLocation (CoreLocation.framework)

2) Вам необходимо добавить в ваш файл .h следующее:

#import <CoreLocation/CoreLocation.h>

@interface exampleViewController : UIViewController <CLLocationManagerDelegate>
{
    CLLocationManager *locationManager;
}

@property(nonatomic, retain)CLLocationManager *locationManager;

3) Вам нужно добавить следующее в ваш файл .m (где это подходит для вашего приложения)

Эта часть создаст экземпляр CLLocationManager:

 self.locationManager = [[CLLocationManager alloc] init];
 locationManager.delegate = self;
 locationManager.desiredAccuracy = kCLLocationAccuracyBest;
 [locationManager startUpdatingLocation];

Затем вы можете получить текущую широту и долготу, используя метод делегата:

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
           fromLocation:(CLLocation *)oldLocation
{
    NSLog(@"New latitude: %f", newLocation.coordinate.latitude);
    NSLog(@"New longitude: %f", newLocation.coordinate.longitude);
}

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

Надеюсь, это поможет.

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