android从照片中获取经纬度等信息
2017-04-14 本文已影响0人
Android_Romance
1.为什么要从照片中获取经纬度
有些做产品的公司会提出这些特殊的需求,他们强烈需要他们员工按照流程工作。什么时候才可以拍照啥的,都有强烈的要求,为此我们所做的app要满足这些特殊的需求,拍照时把经纬度写入到照片的头信息里,哪里我们上传的时候可以从照片的头信息里拿出这些在哪里拍的经纬度信息,最后按照后台的要求上传图片并且把经纬度一并带过去,这样后台就能加以判断照片位置信息。
![](http://oo1api8gi.bkt.clouddn.com/%E7%A8%8B%E5%BA%8F%E5%91%98.jpg)
2.怎么获取经纬度从照片中
a1:首先我们要在拍照前,对照相机进行设置才行,一般手机默认是关闭把经纬度写入到头信息中,我们需要开启他,进入照相机设置里,其中有一项写入地理位置信息,开启即可,那么我们拍照时就可以在头信息里拿到经纬度。
![](http://oo1api8gi.bkt.clouddn.com/jieshi.png)
a2:使用ExifInterface来获取照片头信息里的数据
ExifInterface类主要描述多媒体文件比如JPG格式图片的一些附加信息,包括拍 摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统(GPS)、缩略图 等。简单地说,Exif=JPEG+拍摄参数。该类位于android.media.ExifInterface的位置,需要调用API Level至少为5即2.0 SDK。
所有的JPEG文件以字符串“0xFFD8”开头,并以字符串“0xFFD9”结束。文件头中有一系列“0xFF??”格式的字符串,称为“标识”,用来 标记JPEG文件的信息段。“0xFFD8”表示图像信息开始,“0xFFD9”表示图像信息结束,这两个标识后面没有信息,而其它标识紧跟一些信息字符。
a3:说多了都是泪直接上代码
第一步
![](http://oo1api8gi.bkt.clouddn.com/daima1.png)
第二步
![](http://oo1api8gi.bkt.clouddn.com/daima2.png)
第三步
![](http://oo1api8gi.bkt.clouddn.com/daima3.png)
还可以获取以下信息,在照片头信息里
![](http://oo1api8gi.bkt.clouddn.com/daima4.png)
第一次写文章可能还有很多不足,如表述等不足,望体谅。谢谢!