2015-10-26 3 views
0

Я пытаюсь отобразить карту в приложении Watch с помощью этого класса:WKInterfaceMap не показан на WatchOS 2 проекта

import WatchKit 
class WKMapController: WKInterfaceController { 
    @IBOutlet var map: WKInterfaceMap! 
    let mapSpan=0.0001 
     override func awakeWithContext(context: AnyObject?) { 
     super.awakeWithContext(context) 
     if let location = context as? CLLocation { 
      NSLog("latitude \(location.coordinate.latitude) longitude \(location.coordinate.longitude)") 
      let size=MKMapSize(width:mapSpan, height: mapSpan) 
      let mapRect=MKMapRect(origin: MKMapPoint(x: location.coordinate.latitude-mapSpan/2, y: location.coordinate.longitude-mapSpan/2), size: size) 
      let regionSpan=MKCoordinateSpan(latitudeDelta: size.width, longitudeDelta: size.height) 
      let region=MKCoordinateRegionMake(location.coordinate, regionSpan) 
      map.setRegion(region) 
      map.setVisibleMapRect(mapRect) 
     } 
    } 
} 

Это описание MapRegion, что должно быть в порядке:

Printing description of region: 
▿ MKCoordinateRegion 
▿ center : CLLocationCoordinate2D 
- latitude : 41.7165946960449 
- longitude : 12.3110208511353 
▿ span : MKCoordinateSpan 
- latitudeDelta : 0.0001 
- longitudeDelta : 0.0001 

Пока отображается только пустая карта. Как показать реальную карту?

+0

Вы когда-нибудь это понимали? Я застрял на том же шаге –

ответ

0

У меня такая же проблема. Но решить ее:

  1. Включить Расположение службы на обслуживание iPhone
  2. Open Maps на iPhone устройства.
  3. Вернуться к просмотру и теперь ваша карта будет показана!

Я думаю, что проблема в том, что вам нужны данные карты с родительского устройства, чтобы показать.

+0

Но это означает, что даже пользователям нужно будет открыть свое приложение карты, чтобы показать карту в моем приложении? Это было бы равносильно отсутствию какой-либо функции карты. –

Смежные вопросы