Как хранить координаты широты и долготы текущего местоположения iPhone в двух разных переменных?Доступ к текущему местоположению iPhone
ответ
This руководство поможет вам в этом.
Вот соответствующий код из учебника, что вы были бы заинтересованы в: ответ
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
int degrees = newLocation.coordinate.latitude;
double decimal = fabs(newLocation.coordinate.latitude - degrees);
int minutes = decimal * 60;
double seconds = decimal * 3600 - minutes * 60;
NSString *lat = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
latLabel.text = lat;
degrees = newLocation.coordinate.longitude;
decimal = fabs(newLocation.coordinate.longitude - degrees);
minutes = decimal * 60;
seconds = decimal * 3600 - minutes * 60;
NSString *longt = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
longLabel.text = longt;
}
Четан превосходен и даст вам широты и долго в градусах. Только в случае, если вы заинтересованы только в хранении лат и долго в единицах, которые затем можно использовать для сравнения с другими местами, вы можете просто сделать следующее:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
CLLocationDegrees latitude = newLocation.coordinate.latitude;
CLLocationDegrees longitude = newLocation.coordinate.longitude;
...
}
Если вы хотите сохранить это, то вы бы хотите предоставить какое-то хранилище для значений. В противном случае они выйдут из области действия в конце метода.
Обратите внимание, что CLLocationDegrees - это просто двойник с красивым именем.
Имейте в виду, что CLLocation.coordinate - это аккуратная структура, которую вы можете хранить как CLLocationCoordinate2D - гораздо более элегантно, чтобы поддерживать эти ценности вместе, поскольку они сохраняют немного больше контекста.
Вы можете инициализировать CLLocationManager, чтобы найти точку и указать ее послесловие (обратите внимание, что эта инициализация заимствована из другого сообщения).
CLLocationManager *curLocationManager = [[CLLocationManager alloc] init];
curLocationManager.delegate = self; //SET YOUR DELEGATE HERE
curLocationManager.desiredAccuracy = kCLLocationAccuracyBest; //SET THIS TO SPECIFY THE ACCURACY
[curLocationManager startUpdatingLocation];
//NSLog(@"currentLocationManager is %@", [curLocationManager.location description]);
[curLocationManager stopUpdatingLocation];
//NSLog(@"currentLocationManager is now %@", [curLocationManager.location description]);
//NSLog(@"latitude %f", curLocationManager.location.coordinate.latitude);
//NSLog(@"longitude %f", curLocationManager.location.coordinate.longitude);
double latitude = curLocationManager.location.coordinate.latitude;
double longitude = curLocationManager.location.coordinate.longitude;
Примечание Вы также должны включать (CLLocationManager *)locationManager
и (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
и вы должны включать в себя (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
Используйте следующий код, чтобы показать текущее местоположение в MKMapView и для настройки уровня масштабирования в iPhone App.
1) Добавьте в проект проект MApKit и CoreLocation Framework.
2) Используйте следующий код в ViewController.h файле:
#import "mapKit/MapKit.h"
#import "CoreLocation/CoreLocation.h"
@interface ViewController : UIViewController<MKMapViewDelegate, CLLocationManagerDelegate>
{
MKMapView *theMapView;
CLLocationManager *locationManager;
CLLocation *location;
float latitude, longitude;
}
3) Добавить следующий код по методу viewDidLoad:
// Add MKMapView in your View
theMapView=[[MKMapView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
theMapView.delegate=self;
[self.view addSubview:theMapView];
// Create an instance of CLLocationManager
locationManager=[[CLLocationManager alloc] init];
locationManager.desiredAccuracy=kCLLocationAccuracyBest;
locationManager.delegate=self;
[locationManager startUpdatingLocation];
// Create an instance of CLLocation
location=[locationManager location];
// Set Center Coordinates of MapView
theMapView.centerCoordinate=CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude);
// Set Annotation to show current Location
MKPointAnnotation *annotaionPoint=[[MKPointAnnotation alloc] init];
annotaionPoint.coordinate=theMapView.centerCoordinate;
[email protected]"New Delhi";
[email protected]"Capital";
[theMapView addAnnotation:annotaionPoint];
// Setting Zoom Level on MapView
MKCoordinateRegion coordinateRegion;
coordinateRegion.center = theMapView.centerCoordinate;
coordinateRegion.span.latitudeDelta = 1;
coordinateRegion.span.longitudeDelta = 1;
[theMapView setRegion:coordinateRegion animated:YES];
// Show userLocation (Blue Circle)
theMapView.showsUserLocation=YES;
4) Используйте следующие Место для updateUserLocation
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
latitude=userLocation.coordinate.latitude;
longitude=userLocation.coordinate.longitude;
theMapView.centerCoordinate=CLLocationCoordinate2DMake(latitude, longitude);
MKPointAnnotation *annotationPoint=[[MKPointAnnotation alloc] init];
annotationPoint.coordinate=theMapView.centerCoordinate;
[email protected]"Moradabad";
[email protected]"My Home Town";
}
- 1. Сохранить доступ к текущему местоположению UIWebView
- 2. Как получить доступ к текущему местоположению iframe?
- 3. привязка геолокации к текущему местоположению
- 4. Автоматически запрашивать разрешение на доступ к текущему местоположению при загрузке
- 5. Как получить доступ к текущему местоположению в редукторе (редукционный маршрутизатор)?
- 6. Как предоставить UIWebView доступ к текущему местоположению gps
- 7. как к текущему местоположению в веб-приложении
- 8. Получение контактов, близких к моему текущему местоположению?
- 9. найти ближайший маркер к моему текущему местоположению
- 10. Найти координаты, ближайшие к моему текущему местоположению GPS
- 11. Доступ к текущему RouteContext
- 12. Проблемы с доступом к текущему местоположению пользователя с использованием Ext.util.Geolocation
- 13. Swift - Будний по текущему местоположению по currentCalendar()
- 14. Доступ к $ местоположению в службе
- 15. Доступ к местоположению чтения voilla
- 16. Доступ к местоположению в ASP.NET
- 17. Как получить доступ к местоположению iPhone с веб-страницы?
- 18. iphone симулятор сбой при попытке получить доступ к местоположению пользователя
- 19. ALAssetsLibrary пользовательское уведомление о разрешении на доступ к местоположению iPhone
- 20. Доступ к текущему номеру редакции
- 21. Может ли Javascript обнаружить ручное добавление привязки к текущему местоположению?
- 22. Swift MKMapView Drop a Pin Аннотации к текущему местоположению
- 23. Как сохранить комментарий, введенный в textview, к текущему местоположению карты в iphone
- 24. iphone увеличить к местоположению пользователя на mapkit
- 25. Как получить доступ к текущему местоположению (lat, lng) маркера карты с помощью ngMap в Angularjs?
- 26. Как мне получить доступ к текущему местоположению в onLocationChanged, в методе onMapReady?
- 27. Как я могу получить доступ к текущему местоположению хэша в ответном маршрутизаторе 2?
- 28. Шейдеры HLSL и доступ к текущему местоположению GPU находится в буфере индекса
- 29. Как запросить разрешение у пользователя во второй раз, чтобы разрешить доступ к текущему местоположению?
- 30. Не удается получить доступ к местоположению, основанному на сети, когда доступ к местоположению отключен