2017-12-01 12 views
0

Google Maps APIを使用してマーカーを表示するアプリがありますが、マーカーが表示されないことがあります。私はデバッガをチェックして、コードは実行されていますが、何も表示されません。コードは次のとおりです。iOSのGMSマーカーが表示されない場合があります

func showPickupMarker(lat: Double, lon:Double){ 

pickupMarker = GMSMarker(position: CLLocationCoordinate2D(latitude: lat, longitude: lon)) 
pickupMarker!.icon = GMSMarker.markerImage(with: UIColor.init(colorLiteralRed: 0/255, green: 164/255, blue: 223/255, alpha: 1)) 
pickupMarker!.map = self.mapView 
let camera = GMSCameraPosition.camera(withLatitude: lat, longitude: 
lon, zoom: 15.0) 
let update = GMSCameraUpdate.setCamera(camera) 
self.mapView.moveCamera(update) 

} 

ほとんどの時間は動作しますが、しばらくしてからはしません。地図は移動せず、ピンは表示されません。この機能が別のViewControllerから呼び出されている場合は、その機能に違いがあります。

マーカーが表示されていないときにはマーカーが無効かどうかを確認しましたが、そうではありません。私のアプリによれば、マーカーがありますが、表示されていません。私は誤ってlocationManager didChangeAuthorizationStatusの元の上に別のGMSMapViewをロードしたSOLUTION FOUND

。明らかに、この関数はランダムに呼び出されているので、毎回発生しませんでした。

答えて

0

メインスレッドでメソッドを実行していることを確認してください。 メソッドの実装を次のように変更してみてください。

DispatchQueue.main.async { 
... 
} 
+0

残念ながら、残念ながら提案に感謝します! –

関連する問題