2016-07-18 6 views
1

私はiosを初めて使用しています.HTML投稿要求が完了した後、どのようにGoogleマップカスタムマーカー情報ウィンドウイメージを更新できるか分かりません。私は私のイメージをフェッチAlamofire.requestを作った(GMSMarker:GMSMapView、markerInfoWindowマーカーのMapView)インフォメーションマーカーウィンドウの後に画像を更新する

私の現在のカスタムマーカーの情報ウィンドウのXIBは私のデリゲートメソッド のMapViewでこの

Custom Marker Info Window

のように見えます私。私は、ユーザーが画像が完成するのを待つことなく情報ウィンドウをすぐに見ることができるようにしたい。要求は次のとおりです

Alamofire.request(.POST, appDelegate.host + "/get-img", parameters: params as? [String : AnyObject], encoding: .JSON , headers: headers) 
    .response{ (request, response, data, error) in 
     if let img = data { 
      infoWindow.img.image = UIImage(data: img) 
     } 
    } 

ただし、情報ウィンドウの画像は一切更新されません。私はGoogleマップapiは、ビューがデリゲートメソッドでビューを返した後に更新されないかもしれないと述べたが、他の回避策はありますか?

マップビューが読み込まれる前に地図上のすべてのマーカーに関連するすべての画像を要求していると考えましたが、それはあまりにも高すぎるかもしれません。

答えて

1

私が設定することで、同様の問題を解決:イメージがロードされた後(すなわち、「応答」ハンドラの中で)、私は画像を設定した後(画像を要求する前に)

marker.tracksInfoWindowChanges = true 

をMapViewのmarkerInfoWindow方法でとinfoWindow内のフラグを元に戻し、リソースを消費しないようにします(see tracksInfoWindowChanges docs)。

marker.tracksInfoWindowChanges = false 
+0

カスタムビューでは機能しません。 – Shmidt

+0

それは私のために働いたのですか? – zigah

+1

私はあなたの許しを請う、あなたは絶対に正しいです。 – Shmidt

関連する問題