【问题标题】:Android programmatically setting a different map marker icon for each item in arrayAndroid以编程方式为数组中的每个项目设置不同的地图标记图标
【发布时间】:2015-03-17 00:24:28
【问题描述】:

在我的 Android 应用程序中,我正在遍历一系列位置并为每个项目添加一个地图标记。我想为数组中的每个项目使用不同的标记图标。位置数组中有 30 个项目和 30 个不同的图标。图标文件名有icon1.png、icon2.png、icon3.png等。

我的代码如下:

    for (int i = 1; i < myArray.size(); i ++) {

        marker = mMap.addMarker(new MarkerOptions()
                .position(myArray.get(i))
                .title("Marker " + i)
                .icon(BitmapDescriptorFactory.fromResource(R.drawable.icon1)));

    }

如何设置 R.drawable.icon1 为每次迭代更改?即 R.drawable.icon(i)

【问题讨论】:

  • 我刚刚找到了我现在已经实施的这个答案:
  • 您介意分享链接或发布您的发现作为答案吗?
  • Eugen,该评论应该包含此链接:stackoverflow.com/a/14600380/2698253

标签: android google-maps google-maps-markers


【解决方案1】:

您只需查找具有该名称的资源,例如:

int resourceId=Resources.getSystem().getIdentifier(pDrawableName, "drawable", "android");
if(resourceId==0){
    return null;
} else {
    return Resources.getSystem().getDrawable(resourceId);
}

您可以用作 pDrawableName: pDrawableName = "图标"+i;

注意您的循环,它从 i=1 开始,因此您缺少“0”元素(您还应该有一个可绘制的 'icon0')。

【讨论】:

  • 感谢您的帮助。我将尝试这种方式作为我在上面评论中回答的数组方法的替代方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-03
  • 1970-01-01
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多