GMSMapView 城市标签消失

Tee*_*etz 5 google-maps ios google-maps-sdk-ios swift swift4

概括:

当使用GMSMapView来自 GoogleMaps 框架的对象(从这里每个 pod 安装:https : //cocoapods.org/pods/GoogleMaps)时,我在将自定义地图样式应用于GMSMapView- 城市和国家标签正在消失 - 这不会当我不为地图使用任何自定义样式时,不会发生这种情况。(设置或不设置哪些 stlye 属性并不重要,它总是发生在我身上)

重现步骤:

我在只有一个 ViewController 的单视图应用程序中重现了我的问题,其中地图在 Storyboard 中受到约束并链接到我的 ViewController.swift。该应用程序如下所示:

应用委托:

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    let myGoogleMapsAPIKey: String = "[here goes my API-Key]"

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        GMSServices.provideAPIKey(self.myGoogleMapsAPIKey)

        return true
    }

    func applicationWillResignActive(_ application: UIApplication) {}

    func applicationDidEnterBackground(_ application: UIApplication) {}

    func applicationWillEnterForeground(_ application: UIApplication) {}

    func applicationDidBecomeActive(_ application: UIApplication) {}

    func applicationWillTerminate(_ application: UIApplication) {}
}
Run Code Online (Sandbox Code Playgroud)

ViewController.swift

class ViewController: UIViewController {

    // mapView is linked from storyboard
    @IBOutlet weak var mapView: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()
        self.applyStyleToMap(self.mapView)
    }

    func applyStyleToMap(_ map: GMSMapView) {
        do {
            if let styleURL = Bundle.main.url(forResource: "mapStyle", withExtension: "json") {
                map.mapStyle = try GMSMapStyle(contentsOfFileURL: styleURL)
            } else {
                NSLog("Unable to find mapStyle.json")
            }
        } catch {
            NSLog("Map style failed to load")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

地图样式.json:

[
    {
        "featureType": "administrative.locality",
        "elementType": "all",
        "stylers": [
            {
                "visibility": "on"
            }
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

问题:

当使用捏合手势GMSMapView放大和缩小特定缩放阶段时,所有标签都会以自定义样式从地图中消失。然后地图看起来像这样:(就像提到的那样,如果没有应用样式,则不会发生这种情况)

例子

有没有人遇到过这个问题并且可以指出我正确的方向?我是遗漏了什么还是 Google-Maps-iOS-SDK 中的一个错误?

如果您需要更多信息,请告诉我,我会提供您需要的一切。

此致。