Android以编程方式为数组中的每个项目设置不同的地图标记图标

时间:2015-01-19 02:30:22

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

在我的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)

1 个答案:

答案 0 :(得分:1)

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

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

你可以用作pDrawableName: pDrawableName =“icon”+ i;

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