You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Maps Intent缩放级别不生效 求排查原因

嘿,这不是Bug,是你的URI格式写错啦!

我看了你的代码,缩放级别不生效的问题出在Google Maps Intent的URI拼接上,跟系统或Maps本身没关系~

先看你出问题的这行代码:

val gmmIntentUri = Uri.parse("geo:0,0?q=" + myDetails.myCoordinates + "?z=8&(Google+Australia)")

具体错在哪?

  • 第一个?已经用来分隔URI的路径和查询参数了(q=是第一个参数),后面再加?z=8就会被Maps当成是搜索内容的一部分,而不是缩放参数,自然不会生效
  • 另外地点名称的写法也有点问题,正确的姿势是把坐标和名称合并在q参数里,不用额外加&

改完的代码是这样的:

// 把坐标和地点名合并到q参数,用&来连接z缩放参数
val gmmIntentUri = Uri.parse("geo:0,0?q=${myDetails.myCoordinates}(Google Australia)&z=8")

如果担心特殊字符搞出问题,用Uri.Builder构建会更稳妥,不容易写错:

val uri = Uri.Builder()
    .scheme("geo")
    .path("0,0")
    .appendQueryParameter("q", "${myDetails.myCoordinates}(Google Australia)")
    .appendQueryParameter("z", "8")
    .build()
val mapIntent = Intent(Intent.ACTION_VIEW, uri)
mapIntent.setPackage("com.google.android.apps.maps")
// 然后正常启动Intent就行

对了,Google Maps的z参数范围是1(全球视角)到23(街道级细节),你可以根据需要调整数值哦~

内容的提问来源于stack exchange,提问作者wbk727

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:12:55