4

私は約500-1000のマーカーを持つAndroidアプリを手に入れました。これらのマーカーをクラスタ化するには、android-maps-utilsのClusterManagerをhereとして使用しています。Google MapとCluster Manager:onCameraChangeListenerは非推奨です

最新のPlayサービスアップデートでは、GoogleがGoogleマップのリスナーモデルを変更しました。 OnCameraChangeListenerは廃止されました。代わりに、4人の新しいリスナー(OnCameraIdleListener, OnCameraMoveListener, OnCameraMoveStartedListenerOnCameraMoveCanceledListener)があります。

このアップデート以来、私のアプリは非常に遅いです。マップの移動/ズームに邪魔され、クラスタリング処理に時間がかかり、数秒を要します。

私はこの動作がリスナーモデルの変更にリンクされている可能性があると考えました。したがって、addOnCameraChangeListener(clustermanager)機能を新しいaddOnCameraIdleListener(clustermanager)に置き換えようとしました。残念ながら、ClusterManagerが必要なインターフェイスを実装していないため、これは機能しません。

これはGitHubのClusterManagerの現在のバージョン(0.4.3)がそのインターフェイスを実装しているため、奇妙なところです。そうすればうまくいくはずです。

私はGradleのを使用してClusterManagerのインポートだ:

compile 'com.google.maps.android:android-maps-utils:0.4.3

が、ClusterManagerの私の地元のバージョンが古いOnCameraChangeListener実装し、古いもののようです。

ここで何が間違っていますか? これはGradleの誤作動ですか? 誰かがこの問題を解決する方法を考えていますか? 最後のPlayサービスのアップデート以降、Google Map/Clustererの速度が遅く、遅い他の人はいますか?

何か助けていただきありがとうございます。みんなありがとう。

答えて

20

gooleMap.setOnCameraIdleListener(mClusterManager);を使用する必要があります。 googleMap.setOnCameraMoveListener(mClusterManager)の代わりに

ClusterManagerのソースコードを検索すると、ClusterManagerが新しいOnCameraIdleListenerを実装していることがわかります。

また、あなたはアンドロイドマップ-utilsの新しいに更新する必要があります:0.4.4( 'com.google.maps.android:android-maps-utils:0.4.4' をコンパイル)

幸運と投票up ... ;-)

+0

これで、4.4バージョンのandroid-maps-utilsが正常に動作します。 私はこの質問を投稿したときに、4.3バージョンがGradle経由で利用可能でした(4.4はGitHub上にありました)。誰かが今すぐ利用できるように見える。だから、ありがとうマックス、ありがとう、 "誰か"。 ;) – Manuel

関連する問題