Автоматическая прокрутка mkmapview при перетаскивании булавки
Есть ли хороший код, который реализует автоматическую прокрутку MKMapView при перетаскивании булавки?
Эффект, которого я пытаюсь достичь, - это прокрутка карты, когда я перетаскиваю булавку и достигаю краев карты. Когда я перемещаю булавку из краев, я ожидаю, что прокрутка остановится, и когда я урону ее, оболочка карты будет двигаться, пока булавка не достигнет центра экрана.
Я знаю, как центрировать карту в выбранном месте, но у меня нет идеи, как прокрутить ее при перетаскивании булавки.
Было бы очень полезно, если бы кто-то мог просто направить меня к логике того, как это реализовать.
1 ответ
MKMapRect mapRect = [self.mapView visibleMapRect];
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(42.777126,-76.113281);
MKMapPoint point = MKMapPointForCoordinate(coordinate);
mapRect.origin.x = point.x - mapRect.size.width * 0.3;
mapRect.origin.y = point.y - mapRect.size.height * 0.70;
[self.mapView setVisibleMapRect:mapRect animated:YES];