我正在编写一个函数来获取通过来自android中的地图应用程序的消息共享的位置坐标。我正在从消息中读取缩短的URL 并按照重定向来获取新的URL。新网址显示以共享位置为中心的地图。但是这个url也没有坐标。当地图从第二个网址加载时,在没有刷新页面的情况下,最终的网址会加载其中的坐标。我要读那个网址。例如: -
缩短的网址: goo.gl/maps/LUZi5
重定向网址(永久重定向): www.google.com/maps/preview?cid=808842597169779873&hl=en&gl=in
地图加载了这个新网址,其中包含感兴趣的地方。但是这个网址没有这个地方的坐标信息。一段时间后,网址会更改而不刷新/重新加载页面。
最终网址: google.com/maps/place/Radhika+Theatre/@15.140191,76.930298,17z/data=!3m1!4b1!4m2!3m1!1s0x0:0xx39960e838254a1?hl=en
在这里,我们可以看到 @ 之后的地点坐标。
我想在我的应用中捕获此网址。捕获重定向后,我只获得第二个网址而不是最终网址。怎么做。请帮忙
ps:似乎在页面完全加载后会显示最终的网址。
答案 0 :(得分:0)
我不是专家,但我做了一些研究,你可以做一些解决方法:
创建一个谷歌分析链接,如:"https://goo.gl/#analytics/" + shortenedUrl + "/all_time"
。对你而言,它将是https://goo.gl/#analytics/goo.gl/maps/LUZi5/all_time
现在,使用html解析器,您可以轻松获取cid
的网址:
<div class="IXTYPID-h-g IXTYPID-b-a">
<a href="http://maps.google.com/?cid=808842597169779873&hl=en&gl=in">http://maps.google.com/?cid=808842597169779873&hl=en&gl=in</a>
<p>Created:
<span>2014 Jun 4</span>
</p>
</div>
如果您有cid
个号码,则可以使用此线程中的方法:
https://stackoverflow.com/a/24131148/3804906获取坐标。
更新2016-10-10
似乎谷歌改变了缩短链接的行为。它现在重定向两次。首先进入与cid相关的链接 http://www.google.com/maps/preview?cid=808842597169779873&hl=en&gl=in