gpt4 book ai didi

java - 如何在 map 标记(汽车)周围放置进度条

转载 作者:行者123 更新时间:2023-12-01 18:53:56 26 4
gpt4 key购买 nike

enter image description here

我希望在谷歌地图标记周围制作进度条,如下图所示,或者如何在 map 上的特定位置显示进度条,就像我告诉纬度和经度并显示该位置

最佳答案

在这个短片中,进度标记(标记周围有一系列 8 个圆圈)前进一个表示进度的实心圆圈 - 基于任何进度计算需要(在本例中为 5 个位置更新,但很可能是距离完成)。

标记图标是整个东西(汽车 + 加号标记针 + 进度圈),并且该图标在 9 个文件中重复,进度圈已更改。

如果您对此感兴趣,我可以发布详细信息,但摘要是:

  • 根据进度状态创建尽可能多的标记图像(本例中为 9 个)
  • 通过更改与进度对应的标记图标来定期更新进度(在此示例中以 1/8 增量)
  • 闪烁是通过处理程序延迟来完成的,并且本质上是在 icon0(未填充圆圈)和当前图标(基于进度计算)之间切换。
  • 在本例中,只需使用 .setPosition(),标记就会随位置移动。

以下是所提供示例的处理程序实现:

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
boolean onOff = false;
@Override
public void run() {
// imageId is set in the onLocationChanged based on 'progress'
// determination - 0/8 complete; 1/8 complete...
int currentImageId = imageId;

// icons is an array list populated at initialization with
// BitmapDescriptors from resources - one for each progress
// fraction (0 - 8).
BitmapDescriptor currentIcon = icons.get(currentImageId);

// Flashing results from using the "0-progress" indicator icon
// which is at index 0.
BitmapDescriptor offIcon = icons.get(0);

if (onOff) {
marker1.setIcon(offIcon);
} else {
marker1.setIcon(currentIcon);
}
onOff = !onOff;

// restart handler timer.
handler.postDelayed(this, 500);
}
}, 100);

图标列表初始化如下:

// repeat for all progress images
final BitmapDescriptor icon0 = BitmapDescriptorFactory.fromResource(R.drawable.car0);

// and add to list
final ArrayList<BitmapDescriptor> icons = new ArrayList<>();
// repeat for all progress images
icons.add(icon0);

自定义来自“进度确定” - 如果沿着路线行驶,则在 onLocationChanged 中计算路径完成比率并将其应用于最大数量的图像以生成上述 图片ID。如:

int imageId = pathCompleteRatio * maxImages;

视频 enter image description here

关于java - 如何在 map 标记(汽车)周围放置进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59692828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com