Bạn có thể sử dụng OnCameraChangeListener
và OnMapLoadedCallback
để mô phỏng hành vi này.
Từ the documentation của GoogleMap.OnCameraChangeListener
:
public abstract trống onCameraChange (vị trí CameraPosition)
Được gọi là sau khi vị trí camera đã thay đổi. Trong một hoạt ảnh, người nghe này có thể không được thông báo về vị trí máy ảnh trung gian. Nó luôn được gọi cho vị trí cuối cùng trong hoạt ảnh.
Điều này được gọi trên chuỗi chính.
Từ the documentation của GoogleMap.OnMapLoadedCallback
:
public void trừu tượng onMapLoaded()
gọi khi bản đồ đã kết thúc hiển thị. Điều này sẽ chỉ được gọi là một lần. Bạn phải yêu cầu một cuộc gọi lại khác nếu bạn muốn được thông báo một lần nữa.
Như đã trình bày ở đó, onMapLoaded()
sẽ chỉ gọi một lần, vì vậy chiến lược có thể yêu cầu một GoogleMap.OnMapLoadedCallback
mỗi lần onCameraChange
được gọi.
Đây là một (rất đơn giản) ví dụ để minh họa cho câu trả lời:
public class MapsActivity extends FragmentActivity implements OnCameraChangeListener, OnMapLoadedCallback {
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
googleMap = mapFragment.getMap();
googleMap.setOnCameraChangeListener(this);
}
@Override
public void onMapLoaded() {
//TODO: Hide your progress indicator
}
@Override
public void onCameraChange(final CameraPosition cameraPosition) {
googleMap.setOnMapLoadedCallback(this);
//TODO: Show your progress indicator
}
}
Này, cậu tìm thấy bất kỳ giải pháp mới? –