SwiftUI:GMSMapView 不符合 UIViewRepresentable 协议
SwiftUI: GMSMapView does not conform to protocol UIViewRepresentable
我正在尝试将 google 地图 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”。所以我相信我使用的是最新版本。
这是 Google 地图包中的已知错误还是我做错了什么?
删除 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
}
我正在尝试将 google 地图 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”。所以我相信我使用的是最新版本。
这是 Google 地图包中的已知错误还是我做错了什么?
删除 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
}