tôi đã hoạt động này:Cách thêm tiêu đề, đoạn mã và biểu tượng vào ClusterItem?
public class MapViewer extends Activity {
private GoogleMap map;
private Database db = new Database(this);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapviewer);
try {
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
if (map != null) {
map.setMyLocationEnabled(true);
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
map.getUiSettings().setRotateGesturesEnabled(false);
this.addMerchantMarkers(new MarkerOptions());
}
} catch (NullPointerException e) {
e.printStackTrace();
}
}
public void addMerchantMarkers(MarkerOptions mo) {
SQLiteDatabase dbRead = db.getReadableDatabase();
Cursor result = dbRead.rawQuery("SELECT title, addr, lat, lon FROM users", null);
while(result.moveToNext()) {
map.addMarker(mo.position(new LatLng(result.getFloat(2), result.getFloat(3)))
.title(result.getString(0))
.snippet(result.getString(1))
);;
}
}
}
mà tôi đã thay đổi theo cách sau để sử dụng các marker phân nhóm:
public class MapViewer extends Activity {
private GoogleMap map;
private Database db = new Database(this);
private ClusterManager<MyItem> mClusterManager;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapviewer);
try {
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
if (map != null) {
map.setMyLocationEnabled(true);
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
map.getUiSettings().setRotateGesturesEnabled(false);
setUpClusterer();
}
} catch (NullPointerException e) {
e.printStackTrace();
}
}
private void setUpClusterer() {
mClusterManager = new ClusterManager<MyItem>(this, map);
map.setOnCameraChangeListener(mClusterManager);
map.setOnMarkerClickListener(mClusterManager);
addItems();
}
private void addItems() {
SQLiteDatabase dbRead = db.getReadableDatabase();
Cursor result = dbRead.rawQuery("SELECT lat, lon, title, addr FROM users", null);
while(result.moveToNext()) {
MyItem offsetItem = new MyItem(result.getFloat(0), result.getFloat(1));
mClusterManager.addItem(offsetItem);
}
}
}
Bây giờ tôi không biết làm thế nào để thêm tiêu đề, đoạn mã và biểu tượng để mỗi điểm đánh dấu như mã trước. Bây giờ nếu tôi nhấp vào một điểm đánh dấu không có gì xảy ra ... Làm thế nào để có được điều đó?
Nevermind về biểu tượng. Bạn có một số ví dụ cho thấy cách thêm tiêu đề và đoạn trích vào các điểm đánh dấu nằm trong các cụm không? – smartmouse
Bạn có thể thêm tiêu đề và đoạn mã theo cùng cách với biểu tượng - trong phương thức onBeforeClusterRendered (xem câu trả lời) sử dụng tiêu đề phương thức (Tiêu đề chuỗi) và đoạn trích (Đoạn mã) của đối tượng markerOptions. –
Đã làm việc, cảm ơn bạn. – smartmouse