Swiftui 快捷键操作在GMSMapView上不起作用

Swiftui 快捷键操作在GMSMapView上不起作用,swiftui,google-maps-sdk-ios,gmsmapview,Swiftui,Google Maps Sdk Ios,Gmsmapview,我试图让我自己的自定义按钮浮动在GMSMapView上。按钮在GMSMapView上绘制,但不会触发按钮操作。浮动按钮是用SwiftUI编写的,如下所示: struct MyLocationView: View { @ObservedObject var viewController: ViewController var body: some View { ZStack { Button(action: {

我试图让我自己的自定义按钮浮动在GMSMapView上。按钮在GMSMapView上绘制,但不会触发按钮操作。浮动按钮是用SwiftUI编写的,如下所示:

struct MyLocationView: View {
    @ObservedObject var viewController: ViewController

    var body: some View {
        ZStack {
            Button(action: {
                print("Hello")
                self.viewController.myLocationButtonPressed = !self.viewController.myLocationButtonPressed
            }) {
                ZStack {
                    Circle()
                        .foregroundColor(.black)
                        .frame(width: 60, height: 60)
                        .shadow(radius: 10)
                    Image(systemName: viewController.myLocationButtonPressed ? "location.fill" : "location")
                        .foregroundColor(.blue)
                }
            }
        }
    }
}

这是我的视图控制器

import UIKit
import SwiftUI
import GoogleMaps

class ViewController: UIViewController, ObservableObject {
    @Published var myLocationButtonPressed: Bool = false
    @IBOutlet var mapView: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // My Location Button
        let myLocationView = MyLocationView(viewController: self)
        let hostingController = UIHostingController(rootView: myLocationView)
        hostingController.view.backgroundColor = .blue
        addChild(hostingController)
        hostingController.view.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(hostingController.view)
        hostingController.didMove(toParent: self)

        NSLayoutConstraint.activate([
            hostingController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
            hostingController.view.topAnchor.constraint(equalTo: view.topAnchor),
            hostingController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
            hostingController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor)
        ])
    }
}

知道为什么按钮操作在这里不起作用吗?

我也有类似的问题。你找到解决办法了吗?不幸的是没有。我最终在UIKit中创建了自定义按钮。:/你有什么问题?自从我在这里和你联系后,我有一个问题已经解决了。对我来说,这是按钮的大小,只需添加一个padding()即可解决: