我刚刚升级到Xcode 7.1。当我尝试设置GMSMapView的mapType时,我收到错误“kGMSTypeNormal”的使用不明确、“kGMSTypeTerrain”的使用不明确和“kGMSTypeHybrid”的使用不明确。
@IBOutlet weak var mapView: GMSMapView!
func myfunc() {
if let myMapType = NSUserDefaults.standardUserDefaults().stringForKey(SettingsTableViewController.History.MapType) {
switch myMapType {
case "kGMSTypeNormal":
mapView.mapType = kGMSTypeNormal
case "kGMSTypeTerrain":
mapView.mapType = kGMSTypeTerrain
case "kGMSTypeHybrid":
mapView.mapType = kGMSTypeHybrid
default: break
mapView.mapType = kGMSTypeNormal
}
} else {
mapView.mapType = kGMSTypeNormal
}
}
6条答案
按热度按时间zdwk9cvp1#
我不知道为什么,但把“GoogleMaps.”放在所有kGMSTypes前面(即GoogleMaps.kGMSTypeNormal)解决了这个问题。
zvokhttg2#
e7arh2l63#
这是最新版本
nzkunb0c4#
在
Swift 3
中,使用如下:.normal .hybrid .satellite .terrain
0tdrvxhp5#
如果你打开GMSMapViewType,你会看到它被定义为枚举。在你的switch语句中,你把它和字符串比较是错误的。你应该更好地把它们和整数比较。
g52tjvyc6#
你需要像这样使用
mapView.mapType = GoogleMaps.kGMSTypeSatellite