android - 向地图添加不带图标的标记
问题描述
我正在实现一个 Uber 克隆应用程序,并且正在使用 Google Maps Api。
我想在地图上添加一些标记,但我不希望它有一个图标,只是一个显示预计到达时间的标签。知道如何实现吗?
我试图将图标设置为空,但是当我这样做时,我的标题也没有显示!
解决方案
你需要做的是将一个字符串变成一个图标,然后像图标一样显示,然后显示为标签。
因此,要从文本创建 BitMapDescriptor(用于图标):
IconGenerator icg = new IconGenerator(this);
icg.setColor(Color.GREEN);
icg.setTextAppearance(R.style.TextAppearance_AppCompat_Small);
Bitmap bm = icg.makeIcon("ETA: 3m");
markerOpts.icon(BitmapDescriptorFactory.fromBitmap(bm));
// set position and other props on markerOpts and add
mMap.addMarker(markerOpts);
请注意,title
如果需要(但不是必需的),也可以添加该属性并按预期工作 - 单击图标并显示标题。
您还可以随时使用 Marker 对象更新图标(使用新的 ETA)并按上述方式设置图标。
这里讨论了其他方法(上面的代码片段来自):Map Markers with text in Google Maps Android API v2。
初始标记显示:
单击后带有标题:
推荐阅读
- java - 为 DialogFlow Java API 的 QueryInput 上的 EventInput 添加参数
- python - 有没有办法用你喜欢的多个循环创建一个嵌套循环(python)?
- c# - 在我给出该指令之前,变量值会更新
- xml - 用 XML 表示深度嵌套的数据
- r - label_bquote() 不适用于 ggplot2 中的列分面
- docker - Docker 无法删除已经存在的网络
- macos - /etc/hosts 如何影响 Idea Mac 版 springboot 项目启动的时间成本?
- google-sheets - 谷歌电子表格,使用数组公式和日期之间的过滤器
- magento - 如何从销售订单详细信息页面的地址信息块中删除/禁用编辑按钮
- django - Django-filter:按模型属性过滤