Предположим, вы хотите сфокусировать свой MapView на текущем местоположении, тогда вы напишите код в didUpdateLocation
, который обрабатывает текущие координаты местоположения.Когда вы получили didUpdateLocation?
Но если вы не вызываете requestLocation
или startUpdatingLocaion
на свой объект CLLocationManager
, метод никогда не вызывается. Это верно?
Но кастрированный баран вы звоните requestLocation
или startUpdatingLocation
, если вы посмотрите на ваш MapView
синей точки, которая показывает ваши движения местоположения (например, имитировать движение), но didUpdateLocation не будет вызвана автоматически.
Я пытаюсь понять, почему они сделали метод делегата, когда вы вроде бы назовете это самим.
Да, возможно, я был недостаточно ясен. Но я хотел сказать, что didUpdateLocations всегда нужно начинать с ее вызова. Но, тем не менее, в вашем представлении карты вы можете видеть, что синяя точка перемещается (например, если вы имитируете движение), но didUpdateLocations не вызывается. Я уточню свой вопрос. – Codey
Ну, это странно, что голубая точка движется, но можно ожидать, что точка обновится, но делегат не вызывается, так как вы не подписались на него. Но поведение реализации делегата, как и ожидалось, мое мнение. Чтобы получать обновления, вы должны вызвать начало. – Daniel
https://developer.apple.com/reference/corelocation/clocationmanagerdelegate – Daniel