华为使用h5上传图片没有gps信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为使用h5上传图片没有gps信息相关的知识,希望对你有一定的参考价值。
华为手机上传云上山东为什么不显示照片定位哪和经纬度?您好亲华为手机的照片显示地理位置的前提条件如下:拍摄带地理位置信息的照片,您需要在设置 > 安全和隐私 > 定位服务中,将平板的定位模式设置为使用 GPS、Wi-Fi 和移动网络。如果在室内,由于 GPS 信号不佳,需要平板连接 WLAN 或者打开移动数据进行网络定位。(由于网络定位技术的局限性,当您在室内使用网络定位时,获取的位置与实际位置可能会存在一些误差。)为手机的照片显示地理位置的操作步骤如下:1、打开相机,向左滑动屏幕,打开地理位置开关。2、打开图库,点击更多 > 设置 ,打开拍摄地点开关。3、使用相机拍照(由于定位需要一些时间才能完成,请稍等片刻再拍照)。完成拍照后,进入图库打开拍摄的照片,点击右上角的感叹图标,即可查看照片的详细信息,其中就包含了拍摄照片的地点信息。 参考技术A 华为手机上传云上山东为什么不显示照片定位哪和经纬度灰灰Hh77
应答时长 10分钟
提问
咨询记录 · 回答于2022-09-23
华为手机上传云上山东为什么不显示照片定位哪和经纬度
您好亲华为手机的照片显示地理位置的前提条件如下:拍摄带地理位置信息的照片,您需要在设置 > 安全和隐私 > 定位服务中,将平板的定位模式设置为使用 GPS、Wi-Fi 和移动网络。如果在室内,由于 GPS 信号不佳,需要平板连接 WLAN 或者打开移动数据进行网络定位。(由于网络定位技术的局限性,当您在室内使用网络定位时,获取的位置与实际位置可能会存在一些误差。)为手机的照片显示地理位置的操作步骤如下:1、打开相机,向左滑动屏幕,打开地理位置开关。2、打开图库,点击更多 > 设置 ,打开拍摄地点开关。3、使用相机拍照(由于定位需要一些时间才能完成,请稍等片刻再拍照)。完成拍照后,进入图库打开拍摄的照片,点击右上角的感叹图标,即可查看照片的详细信息,其中就包含了拍摄照片的地点信息。希望可以帮到您哦 参考技术B 一般来说,这种情况,最常见于gps模块损坏了。
因为gps卫星信号还是很稳定的,不会有什么中断的情况。
如果自己会刷漆处理的话先刷下机看看,如果不是软件引起的,那么肯定就是GPS模块的事了。 参考技术C 建议您使用数据流量或WLAN,信号不好可能导致无法获取地理信息。 拍照的时候,通知栏会显示正在搜索 GPS 说明相机正在定位,您可以连续多拍几张照...
IIQ文件内gps信息的分析
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
近日有网友咨询,使用《vb.net 教程 5-7 Bitmap类 3 获得图片信息Exif 1》教程的代码可以打开IIQ文件,但是近期的IIQ图片却分析不了了。
网友还传了两张IIQ图片给我,使用系统(win10)自带的“照片”分别打开这两个文件,确实也是,一张能够看到gps信息,一张却看不到。
推测是IIQ文件结构有所变化。
网上找了一大圈,都没有IIQ文件相关资料,只获得了一些介绍性的信息。
我也根据网上的指引,下载了METADATAEXRACTOR组件生成程序进行分析,也不能获得gps相关信息。
最后只好自己查看IIQ文件十六进制内容了。使用WinHex打开文件,逐行查看,最后发现,gps信息在以<?xpacket begin......开始的数据里,再次分析发现,这段数据比较固定,一是大小固定,都是16759字节;二是都在文件末尾。
这样就很容易获得数据了。
按照《vb.net 教程 4-9 二进制文件读写 1》里面的内容进行读取二进制数据,然后转换为字符串就可以了。
具体代码如下:
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim xmpSign As Integer = 16759
Dim xmpSize As Integer = 16364
Dim xpackedHeader As String = "<?xpacket begin"
Dim filepath As String = "G:\\save\\00067.IIQ"
Dim fs As New FileStream(filepath, FileMode.Open, FileAccess.Read)
Dim fileLenth As Long = fs.Length
If fileLenth < xmpSign + 100 Then Exit Sub
Dim bteXmp(xmpSize - 1) As Byte
Dim pos As Long = fileLenth - xmpSign
Try
If fs.CanSeek Then
Dim br As New BinaryReader(fs)
fs.Seek(pos - 1, SeekOrigin.Begin)
br.Read(bteXmp, 0, xmpSize)
Dim tmpString As String
tmpString = getString(bteXmp)
If tmpString.Substring(0, 15) = xpackedHeader Then
TextBox1.Text = tmpString
End If
br.Close()
End If
Catch ex As Exception
TextBox1.Text = "读取出错:" & ex.Message
Finally
fs.Close()
End Try
End Sub
Private Function getString(ByVal buffer() As Byte) As String
Return System.Text.Encoding.ASCII.GetString(buffer).Trim
End Function
最后得到的数据如(由于某些原因,经纬度部分数字使用了?号代替):
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d' ?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.2-c004 1.136881, 2010/06/10-18:11:35'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' ><rdf:Description rdf:about='' xmlns:exif='http://ns.adobe.com/exif/1.0/'>
<exif:GPSTimeStamp>02:41:32.700+00:00</exif:GPSTimeStamp><exif:GPSLatitude>?0,?6.?31898N</exif:GPSLatitude><exif:GPSLongitude>1?0,?0.?19800E</exif:GPSLongitude>
<exif:GPSAltitudeRef>0</exif:GPSAltitudeRef>
<exif:GPSAltitude>308070/1000</exif:GPSAltitude>
</rdf:Description><rdf:Description rdf:about='' xmlns:aerialgps='http://www.phaseone.com/aerialgps/'></rdf:Description></rdf:RDF></x:xmpmeta>
只需要进一步分析就可以从<exif:GPSLatitude>和<exif:GPSLongitude>这两段获得拍摄的经纬度。
同时通过对数据分析,里面应该是包含了Adobe公司的XMP标准的数据,用网上的查找XMP信息的代码也没有获取到xpacket的信息,比较遗憾。
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供的参考。
学习更多vb.net知识,请参看 vb.net 教程 目录
以上是关于华为使用h5上传图片没有gps信息的主要内容,如果未能解决你的问题,请参考以下文章