2013-11-25 16 views
7

iOS向けGoogle Maps APIバージョン1.6を使用するようにアプリを更新しました。それは今GMSMapViewの三つの重要な方法は推奨されていることを私に示していますバージョン1.6で廃止されたGMSMapViewメソッド

'markers' is deprecated 
'polylines' is deprecated 
'groundOverlays' is deprecated 

最初は、私はGoogleのドキュメントで、このの言及がないので、それは私の側の問題かもしれないと思ったが、その後、私はヘッダファイルを見てそしてそれらが実際に廃止されていることに気づいたが、彼らは同じことを達成するために使用するための別の方法を指定しない:

- (NSArray *)markers __GMS_AVAILABLE_BUT_DEPRECATED; 
- (NSArray *)groundOverlays __GMS_AVAILABLE_BUT_DEPRECATED; 
- (NSArray *)polylines __GMS_AVAILABLE_BUT_DEPRECATED; 

誰かが非推奨メソッドを使用せずにこれを行う方法に私を指すことができますか?ありがとう!

EDIT:私はちょうどあなたがマップからすべてのマーカーやポリラインを削除することになる[mapView clear]を行うことができます方法を発見した、唯一のマーカーを削除せずにすべてのポリラインを削除する方法はありますか?

答えて

5

彼らはドキュメントでそれを言及していないと非常に奇妙です。ソースコードでは、将来のリリースでそれを取り除くと述べています。

注:iOS向けGoogleマップSDKの1.2では、これらのメソッドは非推奨です。 SDKの後のリリースでは表示されないことがあります。これらのメソッドを使用する代わりに、GMSMapViewに追加したオーバーレイに対する独自の参照を保持することをお勧めします。

追加されたオーバーレイへの参照を保持するために開発者として私たちにonusを移動しているようです。私は、アプリケーションのNSMutableArray addedMarkersを作成することでそれを行います。マップにマーカーを追加するたびに、配列にマーカーが追加されます。

ポリラインとグラウンドオーバーレイで同じことができると仮定します。それらはそれぞれ独自のクラスなので、グループ化して後で必要に応じて識別するのは難しくありません。

関連する問題