#ios #google-maps #core-location #google-maps-sdk-ios #currentlocation
#iOS #google-карты #ядро-местоположение #google-maps-sdk-ios #текущее местоположение
Вопрос:
Привет, в моем приложении я должен показать карту маршрута от моего текущего местоположения до места назначения. Для этого я использую google map
URL-адрес для отображения карты маршрута, все работает нормально. Но проблема заключается в том, что при первой установке приложения оно получает наличные и не получает текущее местоположение.
Когда я сворачиваю приложение, оно отображает предупреждающее сообщение, например.
"appname" would like to use Your current Location
После нажатия кнопки «Ок» я закрываю приложение и снова открываю его, теперь в нем отображается карта маршрута.
Мой код.
-(void)currentlocation{
locationManager = [[CLLocationManager alloc]init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
[self->locationManager startUpdatingLocation];
CLLocation *location = [locationManager location];
CLLocationCoordinate2D coordinate = [location coordinate];
mapView = [[[MapView alloc] initWithFrame:
CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)] autorelease];
[self.view addSubview:mapView];
Place* home = [[[Place alloc] init] autorelease];
home.name = @"Home";
home.description = @"Sweet home";
home.latitude = 13.0051850;
home.longitude = 77.62698590;
Place* office = [[[Place alloc] init] autorelease];
office.name = @"Office";
office.description = @"Bad office";
office.latitude = coordinate.latitude;
office.longitude = coordinate.longitude;
[mapView showRouteFrom:home to:office];
}
Я использовал приведенный выше код, который я хочу, например, когда пользователь открывает приложение, оно должно показывать предупреждение, и как только пользователь нажимает кнопку «ОК», отображается карта маршрута. пожалуйста, скажите мне, как этого добиться, я застрял здесь надолго, пожалуйста, помогите мне.
Спасибо.
Ответ №1:
попробуйте этот pa..
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog(@"didUpdateToLocation: %@", newLocation);
CLLocation *currentLocation = newLocation;
if (currentLocation != nil) {
Place* home = [[[Place alloc] init] autorelease];
home.name = @"Home";
home.description = @"Sweet home";
home.latitude = 13.0051850;
home.longitude = 77.62698590;
Place* office = [[[Place alloc] init] autorelease];
office.name = @"Office";
office.description = @"Bad office";
office.latitude = currentLocation.coordinate.latitude;
office.longitude = currentLocation.coordinate.longitude;
[mapView showRouteFrom:home to:office];
}
// Stop Location Manager
[locationManager stopUpdatingLocation];
}