如何使用 JSON 在 SwiftUI 中设置 Google 地图的样式

How to style Google Maps in SwiftUI with JSON

我是 XCode 11 和 SwiftUI 的新手,一直在学习教程(著名的遗言):https://developers.google.com/maps/documentation/ios-sdk/styling,尝试创建自定义 Google 使用 Google Maps SDK 的地图界面。我的应用程序中已经有一个基本的地图视图,但我正在尝试使用 JSON 文件来设置地图样式(具体来说,我正在尝试突出显示本地道路)。我的问题是 Google 文档提供的解决方案不适用于 SwiftUI,因为它使用 ViewController。我应该如何使用 JSON 文件来设置 SwiftUI 中地图的样式?正如我所说,我是 Swift 的新手,所以如果可能的话,我将非常感谢初学者的回答。我在 ContentView.swift 中调用的地图视图代码如下所示(不确定是否相关):

import SwiftUI

import GoogleMaps



struct GoogleMapsView: UIViewRepresentable {

    private let zoom: Float = 15.0



    func makeUIView(context: Self.Context) -> GMSMapView {

        let camera = GMSCameraPosition.camera(withLatitude: 33.3969, longitude: -84.5963, zoom: 13.0)

        let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)

        return mapView

    }

    func updateUIView(_ mapView: GMSMapView, context: Context) {



    }

}

struct GoogleMapsView_Previews: PreviewProvider {

    static var previews: some View {

        GoogleMapsView()

    }

}

我认为您是否使用 SwiftUI 并不重要。 重要的部分是:

if let styleURL = Bundle.main.url(forResource: "style", withExtension: "json") {
   mapView.mapStyle = try GMSMapStyle(contentsOfFileURL: styleURL)

把它加在这之间:

let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
->
return mapView