如何在android

时间:2015-11-04 12:00:07

标签: java android geospatial

在我的Android应用程序中,我有一个地理参考图像,我将用作地图。所以我需要把它分成瓷砖。为此,我希望它的左上角和右下角图像坐标(x,y)与相应图像坐标的位置坐标使用android中支持的java代码。任何人都可以帮我解决这个问题。

更新 我得到了左上角和右下角的图像坐标,但我仍然没有得到左上角和右下角的位置坐标(纬度/经度)。 lat / long已经嵌入到图像中,因为它已经被地理参考,任何人都可以告诉我如何从图像中获取纬度/长角。

1 个答案:

答案 0 :(得分:0)

修改

为了计算图像的位置,将其添加到exif接口代码下面的活动oncreate和位置坐标checkout:

imageView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

    pubic void onGlobalLayout() {
        int height = imageView.getHeight();
        int width = imageView.getWidth();
        int x = imageView.getLeft();
        int y = imageView.getTop();

        //don't forget to remove the listener to prevent being called again by future layout events:
        imageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
    }
});

您可以在拍摄照片之前嵌入EXIF数据/进行设置,然后再将其发送到远程服务器进行处理。将数据发布/发送到远程系统时,您可以单独发送位置数据,或将其作为属性保留为EXIF数据的一部分。

在Android中编写/地理标记JPEG( EXIF 数据)

通过阅读上述内容,我的假设是以下方法可行:

 ExifInterface exif;
 exif = new ExifInterface("/sdcard/DCIM/"+filename+".jpeg");
 double exifLatitude = exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE);
 double exifLongitude = exif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE);