繁体   English   中英

SwiftUI:GMSMapView 不符合协议 UIViewRepresentable

[英]SwiftUI: GMSMapView does not conform to protocol UIViewRepresentable

我正在尝试将谷歌地图 api 中的 GMS Mapview 添加到我的应用程序中。 当我按照教程了解如何实现它时,Xcode 似乎无法理解 GMSMapview 是 UIView。

这是我的代码

import SwiftUI
import GoogleMaps

struct MapsView: UIViewRepresentable {

private let zoomLevel: Float = 10.0
@ObservedObject var locationManager = LocationService()

func makeUIView(context: Context) -> some GMSMapView {
    let camera = GMSCameraPosition.camera(withLatitude: locationManager.lat, longitude: locationManager.lat, zoom: zoomLevel)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    return mapView
}

func updateUIView(_ mapView: GMSMapView, context: Context) {
    mapView.animate(toLocation: CLLocationCoordinate2D(latitude: locationManager.lat, longitude: locationManager.lon))
}

}

Xcode 也没有为我提供任何类型的解决方案以使其符合要求。

在我的 Podfile 中,我只添加了没有版本号的“GoogleMaps”。 所以我相信我使用的是最新版本。

这是谷歌地图 package 中的一个已知错误,还是我做错了什么?

删除some词。

func makeUIView(context: Context) -> GMSMapView { //<-- here
    let camera = GMSCameraPosition.camera(withLatitude: locationManager.lat, longitude: locationManager.lat, zoom: zoomLevel)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    return mapView
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM