1

我已經有了這個功能,它可以管理每當點擊標記時執行操作。但是,我只會這樣對某些標記工作,說都包含在一個陣列GoogleMaps Swift點擊標記

markers_array = [GMSMarkers]() 

標記有什麼辦法有MapView的功能只有在這些特定的標記執行?

func mapView(mapView: GMSMapView, didTapMarker marker: GMSMarker) -> Bool { 
      if let marker = marker as? ChosenMarker { 
     if marker.touchEnabled == true { 
      // Have to show which one is selected too. 
      print("Hello") 
      let setAsHomeButton: SetAsHomeButtonView = SetAsHomeButtonView(marker: marker) 
      self.view.addSubview(setAsHomeButton) 
      self.setupSetAsHomeButton(setAsHomeButton) 
     } else { 

     } 
    } 
    return true 
} 

謝謝

+2

您可以使用像touchEnabled這樣的布爾值和mapView(mapView:GMSMapView,didTapMarker標記:GMSMarker)創建一個GMSMarkers子類,並將參數「marker」投射到您的自定義類。最後,您可以檢查是否啓用了touchEnabled。 – Juan

+0

@JuanGarcia我會試試看!應該這樣做,謝謝。 – tryingtolearn

+0

@JuanGarcia我相信我已經得到它的工作,因爲它只彈出選定的標記,但有沒有辦法獲得原始的didTapMarker功能?因爲這個函數似乎覆蓋了它。 – tryingtolearn

回答

2

您可以創建一個子類GMSMarkers與像touchEnabled並在圖形頁面的布爾(MapView類:GMSMapView中,didTapMarker標記:GMSMarker)你施放的參數 「標記」 您的自定義類。最後,您可以檢查是否啓用了touchEnabled。