我試圖在谷歌地圖上聚集標記,因爲地圖上有太多標記(大約有6000多個標記)。谷歌地圖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:
compile 'com.google.android.gms:play-services-maps:9.8.0'
compile 'com.google.maps.android:android-maps-utils:0.4.4+'
測試棉花糖設備(SDK版本23)上。
ADDED:+
對gradle編譯有什麼含義?
您是否收到過錯誤信息?你可能會錯過什麼。查看展示事件監聽器的示例代碼:https://developers.google.com/maps/documentation/android-api/events#code_samples –
@ d.datul1990感謝您的關注,但不幸的是我沒有收到任何錯誤消息:/ – SlaneR