#ios #mkmapview #mapkit
#iOS #mkmapview #mapkit
Вопрос:
Я создаю приложение для гольфа, которое должно иметь возможность масштабирования вплоть до зеленого цвета лунки. К сожалению, для этого я использую Apple MapKit. На определенных курсах при попытке установить регион с использованием центральной координаты и границ зеленого цвета приложение не увеличивает масштаб до конца в отверстие, и если я повторю попытку сразу после этого, оно увеличит масштаб немного больше, но не полностью, как будто у него проблемы с масштабированием в регионах, где область больше, чем ожидалось.спутниковые снимки загружены не полностью.
Есть несколько упоминаний о проблемах, подобных этой, в stack overflow, но реальных решений нет. Похоже, что MapKit от Apple просто бесполезен для отображения небольших регионов, т. Е. Менее ~ 100 метров. Бесит то, что я могу легко увеличивать меньшие области, используя обычное поведение масштабирования, но если я попытаюсь установить регион на точно такой же уровень масштабирования, он увеличится примерно наполовину.
Я потратил столько времени, пытаясь решить эту проблему, что решил просто переключить всю свою карту в библиотеку просмотра карт Google.
Мой проект находится в Swift 2.2, но я столкнулся с точно такой же проблемой в отдельном проекте с использованием Objective-C. Мой код Swift выглядит следующим образом:
let holeBounds: CGRect = courseSingleton!.findGreenBounds(statsSingleton!.hole)
let center = CLLocationCoordinate2DMake(Double(holeBounds.origin.y holeBounds.size.height/2), Double(holeBounds.origin.x holeBounds.size.width/2));
let coordinateRegion = MKCoordinateRegionMake(center, MKCoordinateSpanMake(Double(holeBounds.size.height), Double(holeBounds.size.width)))
mapView.setRegion(coordinateRegion, animated: false)
Ответ №1:
let address : CLLocationCoordinate2D = self.getLocation(String(txtSearchlocation.text))
let region = MKCoordinateRegionMakeWithDistance(address, 0.05, 0.05)
MapView.setRegion(region, animated: true)
я думаю, вам следует попробовать это для увеличения..
Комментарии:
1. Я пробовал это. Похоже, что моя проблема связана с самим методом setRegion, а не с тем, как я получаю MKCoordinateRegion, который я использую в методе.