マップ上にマーカーが多すぎるため(約6000+マーカー)、マーカーをGoogleマップにクラスタリングしようとしています。GoogleMap onCameraIdleイベントが起動しない
私はグーグルで、マーカーのクラスタリングに関するいくつかの文書を見つけ、ソースコードに適用しましたが、マーカーはGoogleマップには表示されません。
部分ソースコードFragMap
フラグメント。
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
SupportMapFragment map = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.display_map);
if (map == null) {
Log.e(Tag, "Google Map fragment(id: display_map) is null reference!");
return;
}
map.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
if (DataPackage.getEQMarkerManager() == null) {
if (!DataPackage.initializeEQMarkerManager(getActivity(), googleMap)) {
Log.w(Tag, "EQMarkerManager initialization failure");
}
}
}
とEQMarkerManager
の部分のソースコードと、それはだがGoogleMap.OnCameraIdleListener
インタフェースを実装しています。
public EQMarkerManager(Context ctx, GoogleMap map) {
// ...
clusterManager = new ClusterManager<>(ctx, map);
clusterManager.setRenderer(new EQRenderer<>(ctx, map, clusterManager));
map.setOnCameraIdleListener(this);
clusterManager.addItems(markers);
}
@Override
public void onCameraIdle() {
Log.d(Tag, "onCameraIdle");
}
しかしonCameraIdle
コールバックが呼び出されることはありませんでした。 OnCameraIdleイベントが発生しない理由
のGradle:マシュマロ装置(SDKバージョン23)でテスト
compile 'com.google.android.gms:play-services-maps:9.8.0'
compile 'com.google.maps.android:android-maps-utils:0.4.4+'
。
ADDED:+
はgradleコンパイルの意味は?
エラーメッセージが表示されましたか?あなたは何かを見逃すかもしれない。ここでイベントリスナーを示すサンプルコードを確認してください:https://developers.google.com/maps/documentation/android-api/events#code_samples –
@ d.datul1990ご協力いただきありがとうございますが、残念ながらエラーはありませんメッセージ:/ – SlaneR