我希望用户在google maps API v2上拍摄各种图片。所有工作都很好,但是当设置setOnInfoWindowClickListener
时只能显示摄像机拍摄的最后一张图像而不是第一张图像时,似乎无法显示正确的图像。所以我所做的是使用以下代码创建onSaveInstanceState
:
private static final String EXTRA_IMAGE = "fileUri";
LatLng theLastImage;
然后:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putParcelable(EXTRA_IMAGE, fileUri);
然后onRestore:
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
theLastImage = (LatLng)savedInstanceState.getParcelable(EXTRA_IMAGE);
然后在我的onInfoWindowClick
:
public void onMapLongClick(final LatLng point) {
theLastImage=point;
googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.putExtra("fileUri", theLastImage);
Uri imgUri = Uri.parse("file://" + bitmap + fileUri);
intent.setDataAndType(imgUri, "image/*");
startActivity(intent);
return;
}
});
但它仍然只是显示拍摄的最佳图像,无论您在地图上点击哪个标记。
有谁能请我指出正确的方向? 任何帮助将不胜感激。 感谢