设想
- 读取初始用户位置并添加标记 + 将相机位置设置为该位置。
- 每次用户拖动/缩放相机时,我都需要调用 Web 服务并传递地图的矩形坐标。此 Web 服务返回一个位置列表,这些位置将显示为地图范围内的标记。
所以基本上我正在做类似的事情:
创建
mMap.setOnCameraChangeListener(new OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition cameraPosition) {
// Make a web call for the locations
myTask = new MyTask();
myTask.execute();
}
关于从我创建的 Web 服务返回的每个项目的onPostExecute任务:
mMap.addMarker(
new MarkerOptions().position(
new LatLng(myPoint.getLatitude(), myPoint.getLongitude())
)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_pushpin))
);
预期的行为::每次用户滚动或缩放时,相机位置都会发生变化,并且再次调用异步任务以获取一批新的活动坐标
实际行为: 和 之间的onPostExecute
无限循环OnCameraChangeListener
。
在我看来,但也许我错了,addMarker
触发相机更换事件?我怎样才能做出上述预期的行为?