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

能否将Google Maps中的位置直接分享至自主开发的Flutter应用?

存在可落地的实现方案,整体分为应用配置、分享内容解析、位置数据使用三个核心环节,具体实现如下:

实现步骤

1. 配置应用接收系统分享

  • 安卓端:在AndroidManifest.xml的主Activity节点下添加Intent过滤器,配置接收文本类型的分享请求,配置后你的应用会出现在Google Maps的分享列表中:
<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>
  • iOS端:在Info.plist中配置自定义URL Scheme或Universal Links,同时添加文本分享接收权限,即可让应用出现在系统分享面板中。

2. 解析Google Maps分享内容提取坐标

Google Maps分享出来的内容默认是带坐标参数的链接,格式示例:https://maps.google.com/?q=39.9042,116.4074(北京天安门)&z=17
你可以直接用正则表达式匹配链接中的坐标参数,示例匹配规则:q=([-+]?\d+\.\d+),([-+]?\d+\.\d+),匹配后即可直接拿到纬度、经度两个核心数值,括号内的位置名称也可同步提取用于展示。

若分享的是Google Maps短链接,直接在应用内请求短链接跳转后的完整链接,再提取坐标即可,无需额外调用第三方接口。

3. 应用内使用位置信息

拿到经纬度后可按需处理:

  • 传入应用内集成的google_maps_flutter地图组件,调用CameraUpdate.newLatLng()方法即可直接定位到对应位置
  • 存储到本地用于地点收藏、路线规划等业务场景
  • 调用逆地理编码接口转换为结构化地址,用于表单填写、地址展示等需求
注意事项
  • 集成google_maps_flutter插件时需提前在谷歌云平台申请对应平台的API密钥,配置完成后地图才可正常加载
  • 解析坐标前需做好异常校验,避免用户分享非地图类文本内容时应用出现崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:57:03