gpt4 book ai didi

java - 更改 Google Maps V2 中的标记颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:54:09 26 4
gpt4 key购买 nike

我正在尝试更改标记的颜色。

我有这个:

private void addMarker(GoogleMap map, double lat, double lon,
int title, int snippet) {
map.addMarker(new MarkerOptions().position(new LatLng(lat, lon))
.title(getString(title))
.snippet(getString(snippet)));

然后添加一个标记:

addMarker(map, 40.748963847316034, -73.96807193756104,
R.string.title, R.string.snippet);

我想改变标记的颜色,我认为这很容易,只需像这样实现即可:

private void addMarker(GoogleMap map, double lat, double lon,
int title, int snippet, int icon) {
map.addMarker(new MarkerOptions().position(new LatLng(lat, lon))
.title(getString(title))
.snippet(getString(snippet))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.(getString(icon)));

和:

addMarker(map, 40.748963847316034, -73.96807193756104,
R.string.title, R.string.snippet, HUE_AZURE);

但显然我不能将“getString”与“.icon”一起使用。

我该怎么做?

此外,API 8+ 是否支持这种改变颜色的方法?我在支持 API 8+ 时遇到了很多问题,如果这破坏了某些东西,那会很糟糕......

最佳答案

这是一个循环,我在 map 上设置了不同颜色的标记,它对我来说非常有用:

for (Task tempTask : TasksListAppObj.getInstance().tasksRepository.getTasksRepository())
{
LatLng latlng = new LatLng(tempTask.getLatitude(), tempTask.getLongtitude());
if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_WAITING))
{
newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_blue)));
}
else if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_IN_PROGRESS))
{
newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_bordo)));
}
else if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_ON_THE_WAY))
{
newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_turkiz)));
}
else if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_COMPLETE))
{
newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_orange)));
}
else if (tempTask.getStatus().contentEquals(TasksListActivity.STATUS_FAILED))
{
newmarker = map.addMarker(new MarkerOptions().position(latlng).title(tempTask.getTitle()).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_for_map_purpul)));
}
}

看看对你有没有帮助。

if 语句用于更改标记图标。

关于java - 更改 Google Maps V2 中的标记颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16441994/

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