我忙于开发一个应用程序,用户点击地图上的位置,然后相机意图启动,然后可以拍摄图像并返回到地图那一点。但问题似乎是,当有几个标记时,点击查看大图时会显示相同的图像。所以我需要做的是将该图像保存到该点(标记),以便当用户点击标记以查看大图时,应该显示该图像而不是由相机意图拍摄的最新图像。如何从谷歌地图中的自定义标记中调用图像地图api v2
所以我迄今所做的是:
这是我onMapLongClick
:
public void onMapLongClick(final LatLng point) {
theLastImage=point;
MarkerOptions markerOptions = new MarkerOptions()
.draggable(true)
.snippet("Tap here to see full image")
.title("Image")
.position(theLastImage);
googleMap.addMarker(markerOptions);
googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.getParcelableExtra(EXTRA_IMAGE);
intent.setDataAndType(Uri.parse("file://" + bitmap + fileUri), "image/*");
startActivity(intent);
return;
}
});
getApplicationContext().getDir(
getResources().getString(R.string.app_name), MODE_PRIVATE);
fileUri = Uri.fromFile(new File((Environment.getExternalStorageDirectory() +
"/" +getResources().getString(R.string.app_name)),new Date().getTime() + ".jpg"));
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(takePictureIntent,TAKE_PICTURE);
}
然后在ActivityForResult
:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == TAKE_PICTURE && resultCode == RESULT_OK) {
try {
GetImageThumbnail getImageThumbnail = new GetImageThumbnail();
bitmap = getImageThumbnail.getThumbnail(fileUri, this);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
然后保存该图像的各个标记:
LatLng theLastImage;
private static final String EXTRA_IMAGE = "theLastImage";
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putParcelable(EXTRA_IMAGE, fileUri);
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
theLastImage = (LatLng)savedInstanceState.getParcelable(EXTRA_IMAGE);
但是,这似乎不起作用,因为它只是显示用户点击标记时显示的最新图像。
所以它不将图像保存到拍了拍地图上的特定点(或“纽带”,以该标记的图像)
任何人都可以请帮助我吗? 在此先感谢!