【发布时间】:2017-12-04 06:21:11
【问题描述】:
当使用 android 谷歌地图应用共享按钮获取某个位置时,它只是将一个 url 作为意图返回给像这样的其他应用程序:
https://goo. gl/maps/tkNXzF2krmR2
这是一个谷歌短网址,可以翻译成长网址(使用 goole short url api),如下所示:
http://maps.google.com/?q=Tehran+Province,+Tehran,+Banafsheh+3&ftid=0x3f8dfd04d309f925:0x2867166b05b0bfe6&hl=en&gl=us&shorturl=1
很明显,这个网址没有纯纬度和经度值。但似乎值在 url 中的 ftid 参数后面。以“:”字符分隔。
请帮我从这种类似十六进制的格式中提取纬度和经度值
我正在使用 PHP 语言,但其他人也可以提供帮助。 我需要一个这样的功能:(这是行不通的):
函数 hextolatlon($hex){ // 假设 hex 是一个像 0x1446041F 或 0x447D1100 这样的值 // 转换为有符号整数 $h=$hex&0xFF; $h=($h>8)&0xFF); $h=($h>16)&0xFF); $h=($h>24)&0xFF); $负=($h>>31)!=0; // 获取符号 如果($负){ $h=~$h; $h=$h&0x7FFFFFFF; $h++; } // 转换为度和分 $度=地板($h/10000000); $分钟=$h%10000000; // 转换为全度 $度+=($分钟/100000.0) / 60.0; 如果($负)$度=-$度; 返回$度; }将 0x3f8dfd04d309f925 转换为 35.74388 之类的东西。 非常感谢
【问题讨论】:
标签: php android google-maps location hex