如何在谷歌地图Android API v2中显示具有不同图标的多个标记?
我正在解析一个XML文件,其中包含我的Android应用程序的数据,该数据将使用Google Maps Android API v2显示在地图上。XML文件的示例格式为:如何在谷歌地图Android API v2中显示具有不同图标的多个标记?,android,google-maps,google-maps-markers,google-maps-android-api-2,google-maps-mobile,Android,Google Maps,Google Maps Markers,Google Maps Android Api 2,Google Maps Mobile,我正在解析一个XML文件,其中包含我的Android应用程序的数据,该数据将使用Google Maps Android API v2显示在地图上。XML文件的示例格式为: <markers> <marker name="San Pedro Cathedral" address="Davao City" lat="7.0647222" long="125.6091667" icon="church
<markers>
<marker name="San Pedro Cathedral"
address="Davao City"
lat="7.0647222"
long="125.6091667"
icon="church"/>
<marker name="SM Lanang Premier"
address="Davao City"
lat="7.0983333"
long="125.6308333"
icon="shopping"/>
<marker name="Davao Central High School"
address="Davao City"
lat="7.0769444"
long="125.6136111"
icon="school"/>
</markers>
因为R.drawable
仅适用于可绘制文件夹中的文件。如何根据XML上的图标属性动态显示每个标记的不同图标
任何帮助都将不胜感激。:) 要获取资源:
getResources().getIdentifier(icon,"drawable", getPackageName())
上面使用的图标
为XML图标
属性分配了变量
使用此选项动态获取图标
:
.icon(BitmapDescriptorFactory
.fromResource(getResources().getIdentifier(icon,"drawable", getPackageName()))
尝试如下:
// Creates a marker rainbow demonstrating how to
// create default marker icons of different.
int numMarkersInRainbow[] =
{
R.drawable.arrow,
R.drawable.badge_nsw,
R.drawable.badge_qld,
R.drawable.badge_victoria
};
for (int i = 0; i < markers.getLength(); i++) {
mMap.addMarker(new MarkerOptions()
.position(position(new LatLng(lat, lon)))
.title(name)
.icon(BitmapDescriptorFactory.fromResource(numMarkersInRainbow[i])));
}
//创建一个标记彩虹,演示如何
//创建不同类型的默认标记图标。
int numMarkersInRainbow[]=
{
R.drawable.arrow,
R.drawable.badge_新南威尔士州,
R.drawable.badge_qld,
R.drawable.badge_维多利亚
};
对于(int i=0;i
谢谢您的帮助。显示的图标确实不同,但它们在XML文件的marker元素中属性图标的值上并不一致。不过,谢谢你的帮助。:)
.icon(BitmapDescriptorFactory
.fromResource(getResources().getIdentifier(icon,"drawable", getPackageName()))
// Creates a marker rainbow demonstrating how to
// create default marker icons of different.
int numMarkersInRainbow[] =
{
R.drawable.arrow,
R.drawable.badge_nsw,
R.drawable.badge_qld,
R.drawable.badge_victoria
};
for (int i = 0; i < markers.getLength(); i++) {
mMap.addMarker(new MarkerOptions()
.position(position(new LatLng(lat, lon)))
.title(name)
.icon(BitmapDescriptorFactory.fromResource(numMarkersInRainbow[i])));
}