如何从相机意图中拍摄照片并放置在用户点击的地图中(指向地图)

时间:2014-11-23 07:34:41

标签: android android-maps-v2

我问了一个关于拍照并将该图像返回到用户点击的地图上的点的问题。以前相机的意图会崩溃让它现在工作而不会崩溃应用程序,但现在有问题将图像放回地图。这是我更新的代码:

  @Override
  public void onMapLongClick(LatLng point) {
  Intent getCameraImage = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File cameraFolder;
    if  (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
        cameraFolder = new File(android.os.Environment.getExternalStorageDirectory(),"myfolder/");
    else
        cameraFolder= context.getCacheDir();
    if(!cameraFolder.exists())
        cameraFolder.mkdirs();
    String imageFileName = imagename;
    photo = new File(cameraFolder, "myfolder/" + imageFileName);
    getCameraImage.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
    Uri.fromFile(photo);
    startActivityForResult(getCameraImage, TAKE_PICTURE);

}    

protected void onActivityResult(int requestCode, int resultCode, LatLng point) { 
    if(resultCode == RESULT_OK) {
        // This code here i think is wrong? 
        googleMap.addMarker(new MarkerOptions().position(point)
                .icon(BitmapDescriptorFactory.fromFile("photo")));
    }
}

当我拍摄照片并返回地图时,这就是我从日志中获得的信息:

11-23 09:32:31.837: D/skia(12895): GFXPNG PNG bitmap created width:256 height:256 bitmap id is 486 

所以在我看来它似乎工作,但没有将图像放在地图中。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我不认为您在日志中看到的消息与照片图像有关 - 尺寸为256x256像素对于相机而言太小,除非您在拍照时以某种方式指定它。这不太可能。

代码中的问题是BitmapDescriptorFactory.fromFile("photo"),您应该使用BitmapDescriptorFactory.fromPath(photo.getAbsolutePath())之类的内容。