Google マップ拡張機能のバージョン 1.3.1 を使用しており、クラスターからマーカーを除外しようとしています。アプリの onCreate メソッドに設定された 1 つのマーカーがあり、それは現在地を表します。これを常に表示し、残りのマーカーのようにクラスター化しないようにします。これは可能ですか?クラスタリング設定を設定する前、および GoogleMaps オブジェクトで setClustering を呼び出す前に、マーカーを追加しようとしましたが、うまくいかないようです。
1 に答える
他のすべてとクラスター化されるべきではない1 つだけを使用している場合はMarker
、ここのコメント #2 で回避策を確認できます。
https://code.google.com/p/android-maps-extensions/issues/detail?id=10#c2
基本的SupportMapFragment.getMap().addMarker(...)
に代わりに使用するSupportMapFragment.getExtendedMap()
GoogleMap
問題は、 のようなコールバックで null を取得することですがonMarkerClick
、1 つだけでは、Marker
それが「マーカー」であることがわかります。Marker
クラスタリング エンジンは、そのように追加されたことを認識しません。com.google.android.gms.maps.model.Marker
クラス名の競合も発生するため、 this への参照を保持する場合のように、元のライブラリには完全なクラス名を使用する必要がありますMarker
。
この改善が実装されるまで、それが役立つことを願っています。
編集:
これは、バージョン 1.5 から簡単な呼び出しで利用できます。
theMarker.setClusterGroup(777);
デフォルトのグループは0
であり、同じグループを持つ のみMarker
がクラスター化されるため、1 つMarker
のグループを変更すると、目的の効果が得られます。