是的你可以!这就是如何...
//mMap 是一个已经被初始化的 GoogleMap 实例
mMap.setOnCameraChangeListener(getCameraChangeListener());
getCameraChangeListener()
public OnCameraChangeListener getCameraChangeListener()
{
return new OnCameraChangeListener()
{
@Override
public void onCameraChange(CameraPosition position)
{
addItemsToMap(this.items);
}
};
}
//你的“Item”类至少需要一个唯一的id、纬度和经度。
private void addItemsToMap(List<Item> items)
{
if(this.mMap != null)
{
LatLngBounds bounds = this.mMap.getProjection().getVisibleRegion().latLngBounds;
for(Item item : items)
{
if(bounds.contains(new LatLng(item.getLatitude(), item.getLongitude()))
{
if(!courseMarkers.containsKey(item.getId()))
{
this.courseMarkers.put(item.getId(), this.mMap.addMarker(getMarkerForItem(item)));
}
}
else
{
if(courseMarkers.containsKey(item.getId()))
{
courseMarkers.get(item.getId()).remove();
courseMarkers.remove(item.getId());
}
}
}
}
}