2017-07-30 75 views
0

我知道在SO(Displaying info window when tapped marker in google maps iOS sdk while implementing mapView:didTapMarker: delegate method implemented)上已經有類似這樣的問題,但答案不適用於我的情況。以編程方式顯示GMSMarker的信息窗口

在我mapView(didTap:)委託方法,它return true因爲我編程方式確定攝像機的位置時,標記被竊聽。如果我喜歡上述問題的答案return true說,地圖會自動居中選定的標記,我不想。由於我return true,點擊一個標記不會顯示標記的信息窗口,我仍然想要發生,所以有沒有辦法讓我以編程方式做?

我不認爲我的mapView(didTap:)委託方法中的代碼對於回答這個問題是必要的,但如果有人需要它,請告訴我。 (請記住,我的問題問題涉及點擊標記時的代表方法,而不是點擊信息窗口時的代表方法,mapView(didTapInfoWindowOf:)

在此先感謝。

編輯:

通過谷歌地圖文檔看,我發現有你叫什麼,我期待在JavaScript的所謂showInfoWindow()上要顯示誰的信息窗口標記的方法(this is the link to the documentation I'm talking about)。那麼有沒有人知道Swift 3替代這種方法?

編輯:

如果我return false的委託方法,攝像機立即移動到標記的位置的一瞬間,然後平到位置以編程方式告訴它移動到。這在技術上是有效的,但它很醜並且不流利,所以我仍然需要一種以編程方式顯示標記信息窗口的方式,而委託方法返回true

回答

0

關於谷歌的問題跟蹤和submitting a post去後,我發現mapView.selectedMarker() = marker實際上並不具有對mapView(didTap:)委託方法的任何連接,在委託方法,以便返回true已經selectedMarker()方法的功能沒有影響。

其結果是在委託方法定製我要的MapView動畫並返回true,這會導致標記的信息窗口彈出,而不與攝像機位置搞亂之前的位置後,我可以再補充mapView.selectedMarker() = marker