2017-05-09 3 views
1

私はGoogleマップのデモを行っています。私はGoogleマップ上に約20-30マーカのマーカーを追加していますので、ユーザーがテキストフィールドに場所の名前を入力するとしたい表示され、それはマーカーであり、それも表示されるはずのGoogleマップに追加するすべての以前のマーカーです。だから私はユーザーがUITextFieldで場所を入力するときにマーカーを追加しています..私は正常にすべてのタスクを行いました..しかし、ユーザーが別の場所を検索する前の検索マーカーの場所はまだ..私は前のマーカーを削除する方法を知らない別の場所..ここGoogleマップスウィフトでPlace Markerを削除するには3

//は、あなたの助けのいずれかが、事前に私の一日のgood..thanksを作る私のコード

//IBOutlet 
@IBOutlet var ViewMap: GMSMapView! 

func GetLocationFromAddress(address: String) { 
    let geocoder = CLGeocoder() 

    geocoder.geocodeAddressString(address, completionHandler: {(placemarks, error) -> Void in 
     if((error) != nil){ 
      print("Error", error ?? "") 
     } 
     if let placemark = placemarks?.first { 
      let coordinates:CLLocationCoordinate2D = placemark.location!.coordinate 

      print("lat", coordinates.latitude) 
      print("long", coordinates.longitude) 

      let position = CLLocationCoordinate2D(latitude: coordinates.latitude, longitude: coordinates.longitude) 
      let marker = GMSMarker(position: position) 
      marker.title = "Name Of Location" 
      marker.map = self.ViewMap 
      let camera = GMSCameraPosition.camera(withLatitude: coordinates.latitude, 
                longitude: coordinates.longitude, 
                zoom: self.zoomLevel) 
      self.ViewMap.camera = camera 
      self.ViewMap.animate(to: camera) 


     } 
    }) 
} 

//function call 
@IBAction func btnSearchAction(_ sender: Any) { 
    GetLocationFromAddress(address: self.txtSearch.text!) 
} 

です!!!!

答えて

2

btnSearchAction FUNC

@IBAction(_を私はuがタイプGMSMarker

のsearchedMarkerのような変数に最後の検索マーカー及びuは任意の場所を再度検索する次の時間を節約すべきだと思う、あなたはbtnSearchActionメソッドでアクションを取得します送信者:任意) {

searchedMarker.map = nil 
GetLocationFromAddress(address: self.txtSearch.text!) 

}

また更新searchedMarker GMSMarkerの作成時にGetLocationFromAddressメソッドに追加します。

+0

ありがとうございます – Foolish

関連する問題