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

安卓端基于邮政编码/经纬度调用Google Places API推荐会面地点方法

安卓端基于Google Places API实现会面地点推荐实操步骤

前期准备

  • 首先确认你已经在Google Cloud控制台启用了Places API,并且生成了对应的安卓端API密钥,密钥需绑定你的应用包名和SHA-1签名,避免权限报错
  • 你已经通过Geocode API拿到的经纬度坐标可以直接作为推荐的圆心坐标,如果是多人会面场景,可以先计算多个用户经纬度的中心点作为查询圆心,推荐结果会更符合需求

核心接口调用方案

推荐使用Places API的Nearby Search接口实现地点推荐,安卓端可以选择两种实现方式:

方式1:使用Places SDK for Android(更适配安卓原生场景,优先推荐)

  • 第一步先在模块级build.gradle中引入SDK依赖:
dependencies {
    implementation 'com.google.android.libraries.places:places:3.3.0'
}
  • 在Application或者调用页面的onCreate方法中初始化SDK:
// 传入你在Google Cloud申请的安卓端API密钥
Places.initialize(applicationContext, "你的API_KEY")
val placesClient = Places.createClient(this)
  • 构造查询请求,示例为查询圆心5公里范围内适合会面的公共场所:
// 你已经拿到的经纬度坐标,此处为示例值
val centerLatLng = LatLng(39.9042, 116.4074)
// 构造附近搜索请求参数
val nearbyRequest = NearbySearchRequest.builder()
    .setLocation(centerLatLng)
    .setRadius(5000) // 搜索半径,单位为米,最大支持50000
    .setTypes(listOf(Place.Type.RESTAURANT, Place.Type.CAFE, Place.Type.PARK)) // 可自定义会面适配的场所类型
    .setRankPreference(RankPreference.POPULARITY) // 按热度排序,也可选择RankPreference.DISTANCE按距离排序
    .setMinRating(3.5) // 可过滤低评分场所,提升推荐质量
    .build()
  • 异步请求获取推荐结果:
placesClient.nearbySearch(nearbyRequest)
    .addOnSuccessListener { response ->
        val recommendPlaceList = response.places
        // 此处拿到的列表即为推荐的会面地点,可直接渲染到UI层展示
    }
    .addOnFailureListener { exception ->
        // 处理请求错误,比如权限不足、配额耗尽、密钥配置错误等
    }

方式2:直接调用HTTP接口(适合需要高度自定义逻辑的场景)

直接在安卓子线程中发起HTTP请求即可,请求URL格式示例:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=纬度,经度&radius=5000&type=restaurant|cafe|park&key=你的API_KEY
返回结果为标准JSON格式,自行解析后即可获取推荐地点列表。

注意事项

  • 安卓端需要提前申请INTERNET权限,如果需要补充用户当前位置作为参数,还要申请ACCESS_FINE_LOCATION权限
  • 注意Places API的调用配额限制,超出配额会返回报错,建议在Google Cloud控制台设置配额提醒
  • 多人会面场景下,可以结合所有参与者的通勤距离,动态调整搜索半径和排序规则,优化推荐结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:09:00