我构建了一个Android应用程序,可以处理谷歌地图的共享意图并显示它的坐标。
问题是他们发送了一个简短的网址,我用Google的网址缩短器api解码,在某些情况下,结果长链接属于这种类型:http://maps.google.com/?cid=3635533832900933072&hl=en&gl=us。
任何人都可以帮我解决如何获得“cid = 3635533832900933072”的相应坐标
答案 0 :(得分:6)
据我所知,没有公共API可以从cid获取位置。
但是,可能的解决方法是解析Google地图输出以获取纬度和经度(尽管如果它们更改结果格式可能会很脆弱)。
(虽然网址包含output=json
,但实际上并不是json - 这就是为什么我用substring()
解析它而不是{{1} }})。
试试这段代码:
JSONObject
答案 1 :(得分:2)
昨天看完这篇文章后,我发现了一种新方法。我希望Google不要关闭这个新API和隐藏参数。 :)
您可以使用此API隐藏参数来获取协调员。用法:https://maps.googleapis.com/maps/api/place/details/json?cid=YOUR_CID&key=YOUR_KEY
返回包含格式化地址,place_id,地址名称和GPS协调员的结果。
请参阅我的博客以了解更多详情:https://leonbbs.blogspot.com/2018/03/google-map-cid-to-placeid-or-get.html
答案 2 :(得分:1)
在最新的Google Maps更新中,共享意图包含正文中的地址名称,可以使用Geocoder将其解码为坐标。