Vì vậy, về cơ bản bạn muốn nghe những thay đổi trên bản đồ và mỗi lần người dùng kéo bản đồ và tải lại kết quả? Dưới đây là những gì bạn nên làm:
public class AwesomeCameraActivity extends FragmentActivity implements
OnCameraIdleListener,
OnMapReadyCallback {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_camera);
SupportMapFragment mapFragment =
(SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
mMap = map;
mMap.setOnCameraIdleListener(this);
// Show the initial position
mMap.moveCamera(CameraUpdateFactory
.newLatLngZoom(new LatLng(YOUR_LATITUDE, YOUR_LONGITUDE), 10));
}
@Override
public void onCameraIdle() {
// The camera/map stopped moving, now you can fetch the center of the map
GeoPoint center = mMap.getProjection().fromPixels(mMap.getHeight()/2, mMap.getWidth()/2);
double centerLat = (double)center.getLatitudeE6()/(double)1E6;
double centerLng = (double)center.getLongitudeE6()/(double)1E6;
// Now fire a new search with the new latitude and longitude
searcher.setQuery(new Query().setAroundLatLng(new AbstractQuery.LatLng(centerLat, centerLng)).setAroundRadius(5000))
}
}
Nguồn
2017-10-10 11:20:09
Xin chào Thofiq, chào mừng bạn đến với Stack Overflow! Hãy nhớ chấp nhận/upvote câu trả lời giải quyết vấn đề của bạn, để thưởng cho người cần thời gian để giúp bạn và để cho người khác biết điều này hữu ích;) – PLNech