Android Kotlin:Glide无法加载Google静态地图且标记不可见
问题解决:Google Maps Static Image API标记不显示+应用内图片加载失败
1. 标记不显示的原因及修复
你的URL中markers参数格式错误:代码里拼接的&markers=size:mid%7Ccolor:red%7Clabel:C%部分,C%是错误写法,应该用C%7C(%7C是竖线|的URL编码,用于分隔标记的属性与坐标)。错误的格式导致API无法解析标记参数,所以标记不显示。
修正后的代码:
var url = "http://maps.google.com/maps/api/staticmap?center=" + restaurant.latitude + "," + restaurant.longitude + "&zoom=10&size=200x200&sensor=false" + "&markers=size:mid%7Ccolor:red%7Clabel:C%7C" + restaurant.latitude + "," + restaurant.longitude + "&key=API_KEY"
2. 应用内图片不显示的排查方向
- API Key配置检查:确保Google Cloud控制台中已启用
Maps Static API,且API Key的应用限制(Android包名、SHA-1)配置正确。 - 网络权限:在
AndroidManifest.xml中添加互联网权限:<uses-permission android:name="android.permission.INTERNET" /> - 明文HTTP限制(Android 9+):Android 9及以上默认禁止明文HTTP请求,可二选一处理:
- 在
AndroidManifest.xml的application标签添加android:usesCleartextTraffic="true"; - 把URL改为HTTPS格式(推荐):
https://maps.googleapis.com/maps/api/staticmap...
- 在
- Glide相关检查:确认Glide依赖正确引入,可尝试清除Glide缓存后重新测试。
内容的提问来源于stack exchange,提问作者Malhar
相关产品推荐
相关产品推荐

