2016-05-21 2 views
0

Я изучаю Xcode (swift 1.2) на прошлой неделе, я только начал изучать набор карт, и я ударил по кирпичной стене.Невозможно отобразить карту на вид

Я после этого учебника: MapKit Location

Я добавил MapKit на мой взгляд, и добавил следующий код в контроллер:

@IBOutlet weak var mapView: MKMapView! 

let regionRadius: CLLocationDistance = 1000 

@IBOutlet var menuButton: UIBarButtonItem! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let initialLocation = CLLocation(latitude: 21.282778, longitude: -157.829444) 

    centerMapOnLocation(initialLocation) 

    // Do any additional setup after loading the view. 
} 

func centerMapOnLocation(location: CLLocation) { 
    let coordinateRegion = MKCoordinateRegionMakeWithDistance(location.coordinate, regionRadius * 2.0, regionRadius * 2.0) 
    mapView.setRegion(coordinateRegion, animated: false) 
} 

Тем не менее, когда я запустить приложение, я увидеть следующее изображение:

Может кто-то пожалуйста, пролить некоторый свет в почему я не могу видеть акт вместо карты?

Update

Код ниже АВЭС обратной связи от ansers:

@IBOutlet weak var mapView: MKMapView! 

@IBOutlet var menuButton: UIBarButtonItem! 

var locationManage = CLLocationManager() 

var locateCoordinate = CLLocationCoordinate2D() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let initialLocation = CLLocation(latitude: 21.282778, longitude: -157.829444) 

    centerMapOnLocation(initialLocation) 





} 

func centerMapOnLocation(location: CLLocation) { 
    var coordin: CLLocationCoordinate2D = location.coordinate 

    var viewRegion: MKCoordinateRegion = MKCoordinateRegionMakeWithDistance(coordin, 500, 500) 
    var adjustedRegion: MKCoordinateRegion = self.mapView.regionThatFits(viewRegion) 
    self.mapView.setRegion(adjustedRegion, animated: true) 
} 
+0

, в котором устройство вы проверили этот –

ответ

0

установить делегат и делегат методы, использовать этот пример кода,

import UIKit 
import MapKit 

class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate,UITableViewDelegate,UITableViewDataSource { 

    @IBOutlet weak var mapViewOwn: MKMapView! 

    var locationManage = CLLocationManager() 

    var locateCoordinate = CLLocationCoordinate2D() 

    override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib.. 

    mapViewOwn.delegate = self 
    locationManage.delegate = self 

    if CLLocationManager.authorizationStatus() == .NotDetermined { 
     self.locationManage.requestWhenInUseAuthorization() 
    } 

    mapViewOwn.showsUserLocation = true 

    mapViewOwn.mapType = MKMapType.Standard 
    mapViewOwn.zoomEnabled = true 
    mapViewOwn.scrollEnabled = true 

    locationManage.distanceFilter = kCLDistanceFilterNone 
    locationManage.desiredAccuracy = kCLLocationAccuracyBest 

    } 

// делегат методы:

func mapView(mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) { 

    } 

    func mapView(mapView: MKMapView, didUpdateUserLocation userLocation: MKUserLocation) { 
    let region : MKCoordinateRegion = MKCoordinateRegionMakeWithDistance(userLocation.coordinate, 1000, 1000) 
    mapViewOwn.setRegion(mapViewOwn.regionThatFits(region), animated: true) 
    } 

    func mapView(mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView) {   
     //code here 
    } 

    func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? { 
     //code here 
    } 
+0

Тем не менее получить тот же результат. –

+0

если вы используете раскадровку? –

+0

Не знаете, что вы имеете в виду? –

1

Некоторые идеи по устранению неполадок:

  • дважды проверьте, что ваш IBOutlet подключен
  • проверить, если ваш тренажер имеет подключение к сети
  • сделать изменения в viewDidAppear, чтобы получить визуальную обратную связь
  • попробовать на реальном устройстве
  • попробуйте другое местоположение, больший радиус
  • дважды проверьте, чтобы вы не меняли координаты или уровень масштабирования снова после того, как viewDidLoad
  • попробуйте уменьшить масштаб и панорамирование на карте, чтобы увидеть, если содержимое изменяется
Смежные вопросы