WatchOS 2项目中未显示WKInterfaceMap

时间:2015-10-26 10:01:30

标签: watch-os-2 wkinterfacecontroller

我正在尝试通过此类在Watch应用中显示地图:

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

然后只显示空白地图。如何显示真实地图?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。但我通过以下方式解决它:

  1. 在iPhone服务上启用位置服务
  2. 在iPhone设备上打开地图。
  3. 返回观看,现在将显示您的地图!
  4. 我认为问题是,手表需要从父设备显示地图数据。