我試圖找到一種方法來管理我的應用程序中的Android地圖(v2)實現中的標記。我希望能夠繪製位於可視邊界內的標記,同時僅顯示某個縮放級別以上的標記。這似乎是一個普遍的問題。所以,我問是否有人使用像標記管理器庫之類的東西。只是爲了讓事情變得簡單,而且我不必從頭開始。謝謝。是否有Android谷歌地圖v2標記管理器?
2
A
回答
2
還不是經理,但您可能需要檢查Android Maps Extensions,它具有羣集功能。
編輯:
在AME,可見區域內的繪圖標記可以通過以下方式實現:
map.setClustering(new ClusteringSettings().addMarkersDynamically(true));
或
map.setClustering(new ClusteringSettings().enabled(false).addMarkersDynamically(true));
如果你不想集羣但只在添加多個標記時優化案例。
僅當您點擊某個縮放級別時才顯示標記尚未完全實施,但已請求here。
1
我意識到這個問題很老,但如果有人仍然有同樣的問題,可以使用Google Maps Android Marker Clustering Utility。應採取
步驟如下:
- 實施ClusterItem以表示地圖上的標記。簇項以LatLng對象的形式返回標記的位置。
- 添加新的ClusterManager以根據縮放級別對羣集項目(標記)進行分組。
- 將映射的OnCameraChangeListener()設置爲ClusterManager,因爲ClusterManager實現了偵聽器。
- 如果您想添加特定功能來響應標記點擊事件,請將映射的OnMarkerClickListener()設置爲ClusterManager,因爲ClusterManager實現了偵聽器。
- 將標記送入ClusterManager。
實現示例:
public class MyItem implements ClusterItem {
private final LatLng mPosition;
public MyItem(double lat, double lng) {
mPosition = new LatLng(lat, lng);
}
@Override
public LatLng getPosition() {
return mPosition;
}
}
private void setUpClusterer() {
// Declare a variable for the cluster manager.
private ClusterManager<MyItem> mClusterManager;
// Position the map.
getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.503186, -0.126446), 10));
// Initialize the manager with the context and the map.
// (Activity extends context, so we can pass 'this' in the constructor.)
mClusterManager = new ClusterManager<MyItem>(this, getMap());
// Point the map's listeners at the listeners implemented by the cluster
// manager.
getMap().setOnCameraChangeListener(mClusterManager);
getMap().setOnMarkerClickListener(mClusterManager);
// Add cluster items (markers) to the cluster manager.
addItems();
}
private void addItems() {
// Set some lat/lng coordinates to start with.
double lat = 51.5145160;
double lng = -0.1270060;
// Add ten cluster items in close proximity, for purposes of this example.
for (int i = 0; i < 10; i++) {
double offset = i/60d;
lat = lat + offset;
lng = lng + offset;
MyItem offsetItem = new MyItem(lat, lng);
mClusterManager.addItem(offsetItem);
}
}
欲瞭解更多信息,您可以檢查here和library's Github page
相關問題
- 1. 谷歌地圖標記管理器
- 2. 谷歌地圖標記管理器V3
- 3. 谷歌地圖V3標記管理器
- 4. Android谷歌地圖v2中的標記
- 5. 谷歌地圖API V2標記問題
- 6. 與谷歌地圖的Android API v2的文本地圖標記
- 7. Android谷歌地圖(API V2)和標籤
- 8. 谷歌地圖API v2。 android
- 9. Android谷歌地圖API v2
- 10. 谷歌地圖Android版V2
- 11. 谷歌地圖Android API v2
- 12. Android的谷歌地圖V2
- 13. Android谷歌地圖v2 maven
- 14. 谷歌地圖V2 Android
- 15. Android谷歌地圖v2
- 16. android谷歌地圖標記
- 17. 谷歌地圖V2 Android模擬器
- 18. 谷歌地圖V2在Android模擬器
- 19. 谷歌地理編碼器+谷歌地圖添加標記
- 20. 谷歌地圖Android API v2:是否有快速的方法來知道在指定位置是否有標記?
- 21. 縮放以適應地圖上的所有標記谷歌地圖v2 android
- 22. 谷歌地圖標記在資源管理器或Chrome
- 23. 刪除標記谷歌地圖API V2 - Android電子
- 24. 大可點擊標記谷歌android地圖api v2
- 25. Android谷歌地圖V2 - 在幾個標記上的OnInfoWindowClick點擊
- 26. 在谷歌地圖v2中移動標記android
- 27. Android的谷歌地圖V2標記顏色
- 28. 谷歌地圖android api v2標記陰影
- 29. 谷歌地圖Android API v2,錯誤的標記位置
- 30. 在Android谷歌地圖v2中僅使標記點擊一次