我在地图上有onMapClick,用户在那时拍摄照片,然后将该图像作为缩略图返回到用户点击的那一点。问题是,如果我指定一个位置,OnMapClick和onActivityResult工作。例如:
private LatLng point = new LatLng(xx.xxxx, xx.xxxx);
但是,如果我使用'onMapClick(LatLng point)'中的点,然后将其添加到此:
public void onActivityResult(int requestCode, int resultCode, Intent data, **LatLng point**) {
然后在我的onActivityResult标记中使用它:
MarkerOptions markerOptions = new MarkerOptions()
.position(point)
.icon(BitmapDescriptorFactory
.fromBitmap(bitmap));
googleMap.addMarker(markerOptions);
然后一切仍然有效,但在点击的地图上,图像不会显示在地图上。另外,日志中没有任何内容可以说明。所以我真的很困惑!
这是我的Camera意图和onActivityResult:
public void onMapClick(LatLng point) {
root = Environment.getExternalStorageDirectory().toString()
+ "/Your_Folder";
imageFolderPath = root + "/saved_images";
File imagesFolder = new File(imageFolderPath);
imagesFolder.mkdirs();
imageName = "test.png";
File image = new File(imageFolderPath, imageName);
fileUri = Uri.fromFile(image);
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(takePictureIntent,
TAKE_PICTURE);
}
public void onActivityResult(int requestCode, int resultCode, Intent data, LatLng point) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PICTURE && resultCode == RESULT_OK) {
Bitmap bitmap = null;
try {
GetImageThumbnail getImageThumbnail = new GetImageThumbnail();
bitmap = getImageThumbnail.getThumbnail(fileUri, this);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
MarkerOptions markerOptions = new MarkerOptions()
.position(point)
.icon(BitmapDescriptorFactory
.fromBitmap(bitmap));
googleMap.addMarker(markerOptions);
}
}
public void showFullImage(View view) {
String path = (String) view.getTag();
if (path != null) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri imgUri = Uri.parse("file://" + path);
intent.setDataAndType(imgUri, "image/*");
startActivity(intent);
}
}
}
很抱歉,如果代码看起来很乱,但过去4天一直在解决这个问题并且一直在添加,删除代码,当我开始工作时会整理: - )
修改
我认为发生的事情是,当您在OnMapClickListener
OnActivityResult
上指向地图时会忘记(如果愿意)“放置图像的位置。因此,不提供任何错误消息并丢弃图像?
答案 0 :(得分:0)
我有一个简单的程序来显示特定位置的标记....我不知道它对你有用吗... 这是代码
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
final LatLng CIU = new LatLng(13.0839, 80.2700);
Marker ciu = mMap.addMarker(new MarkerOptions()
.position(CIU).title("My Office"));
}
答案 1 :(得分:0)
问题可能是,您必须检查Sub Macro1()
...do stuff
Range("a1")=10 'log progress
Macro2 10 'run next step, passing in some info
End Sub
Sub Macro2(input)
...do stuff with 'input'
Range("a2")=20
Macro3 20
End Sub
'etc etc
中的if(savedInstancestate == null)
并仅在视图为onCreate()
时创建视图;为了不创建一个新的null
...,我只能假设,因为所提供的代码中没有相关部分(但似乎还是有可能的)。