0

我想要在Google地图中以编程方式将我的MarkerOptions绘制为可绘制。我得到像String这样的图标,之后我尝试使用它来放置MarkerOptions的图标。MarkerOptions图标以编程方式

我使用这个代码:

String icono = mis_localizaciones.get(i).getIcon(); 
int id = getResources().getIdentifier(icono, "drawable", getPackageName()); 
Drawable drawable = getResources().getDrawable(id); 
mi_marker.icon(BitmapDescriptorFactory.fromResource(drawable)); 

但我不能做这样的,因为在一个问题:mis_markers.icon(BitmapDescriptorFactory.fromResource(drawable));

有人可以帮助我吗?非常感谢

+0

这是什么问题? – 2015-01-21 11:18:44

+0

我在我的问题中写了一个问题,我不能像这样使用drawable。 – Elena 2015-01-21 11:22:12

+0

您需要在BitmapDescriptorFactory.fromResource(可绘制)处传递'Bitmap' – 2015-01-21 11:23:09

回答

0

按照下面的文档: -

https://developers.google.com/maps/documentation/android/marker

看到下面的代码到你的地图上添加标记。

Marker melbourne = mMap.addMarker(new MarkerOptions() 
          .position(MELBOURNE) 
          .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); 

看到这个

How to display multiple markers with different icons in Google Maps Android API v2?

+0

是的,但我试图通过编程方式将自定义图像放在标记上 – Elena 2015-01-21 11:21:26

+0

自定义图像是什么意思? – duggu 2015-01-21 11:22:11

+0

你的代码是谷歌地图的默认标记,我想用我的图片来放置标记 – Elena 2015-01-21 11:23:12

0
//make Sure icono String doesnt contain extension of file 
// eg: flower.png is not a valid input for icono 
// eg flower is valid input 
String icono = mis_localizaciones.get(i).getIcon(); 


int id = getResources().getIdentifier(icono, "drawable",getPackageName()); 
// In id variable you aleady got drawable image refrence 
mi_marker.icon(BitmapDescriptorFactory.fromResource(id)); 
+0

是的,但是如果我想让你的图标变成变量? – Elena 2015-01-21 11:28:46

+0

你想加载图片从SD卡...... ?? – koutuk 2015-01-21 11:30:18

+0

我收到你的问题一分钟 – koutuk 2015-01-21 11:33:03

0

你混合起来BitmapDescriptorFactory.fromResource()BitmapDescriptorFactory.fromBitmap()。这是fromResource()的正确用法。它以资源ID为参数:

String icono = mis_localizaciones.get(i).getIcon(); 
int id = getResources().getIdentifier(icono, "drawable", getPackageName());   
mi_marker.icon(BitmapDescriptorFactory.fromResource(id));