#google-maps #xamarin.ios #location #contacts
#google-карты #xamarin.ios #Расположение #Контакты
Вопрос:
Как видно из названия, меня смущает, как захватывать карты с помощью MonoTouch и как получить местоположение. Шаг за шагом:
CLLocationManager locationManager = new CLLocationManager ();
locationManager.UpdatedLocation = UpdatedLocationEvent;
locationManager.Delegate = new MyLocationDelegate ();
locationManager.StartUpdatingLocation ();
class MyLocationDelegate : CLLocationManagerDelegate
{
public MyLocationDelegate () : base()
{
}
public override void UpdatedLocation (CLLocationManager manager, CLLocation newLocation, CLLocation oldLocation)
{
Console.WriteLine ("newLocation " newLocation.VerticalAccuracy " " newLocation.HorizontalAccuracy);
Console.WriteLine ("oldLocation " oldLocation.VerticalAccuracy " " oldLocation.HorizontalAccuracy);
}
public override void Failed (CLLocationManager manager, NSError error)
{
Console.WriteLine ("Failed to find location");
}
}
Это не работает. Пожалуйста, помогите мне.
Комментарии:
1. Вам нужно объяснить, что «не работает». Происходит ли сбой? Вы получаете какие-либо ошибки? Что происходит, а что нет? Вероятно, вместо этого вам следует использовать свойство координат CLLocation или точность по горизонтали / вертикали.
2. Без сбоев, без ошибок, но не работает, я не могу получить текущее местоположение.
Ответ №1:
Вы не настроили тип событий, которые вы получаете, вам не хватает строки, подобной этой:
locationManager = new CLLocationManager () {
DesiredAccuracy = CLLocation.AccuracyBest,
Delegate = new MyCLLocationManagerDelegate (callback),
DistanceFilter = 1000f
};
if (CLLocationManager.LocationServicesEnabled)
locationManager.StartUpdatingLocation ();