GMSMapView城市标签消失

时间:2018-11-14 17:41:39

标签: ios swift google-maps swift4 google-maps-sdk-ios

摘要:

在使用GoogleMaps框架中的GMSMapView对象(从此处https://cocoapods.org/pods/GoogleMaps每个Pod安装)时,将自定义地图样式应用于GMSMapView时遇到一个奇怪的问题-城市和国家/地区标签正在消失-当我不为地图使用任何自定义样式时,这不会发生。 (无论设置或不设置stlye属性都无关紧要,它总是在我身上发生)

复制步骤:

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

AppDelegate:

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) {}
}

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")
        }
    }
}

mapStyle.json:

[
    {
        "featureType": "administrative.locality",
        "elementType": "all",
        "stylers": [
            {
                "visibility": "on"
            }
        ]
    }
]

问题:

在特定的缩放阶段使用捏手势进行GMSMapView进出缩放时,所有标签都将从地图上以自定义样式消失。然后,地图如下所示:(如前所述,如果未应用任何样式,则不会发生)

Example

有人遇到过这个问题吗,可以指出正确的方向吗?我是否错过了某件事,或者这是Google-Maps-iOS-SDK中的错误?

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

最好的问候。

0 个答案:

没有答案