在使用Google Map API V3时,我可以通过以下方式添加自定义属性:
var marker = new google.maps.Marker({
position: userLocation,
map: myGoogleMap,
animation: google.maps.Animation.DROP,
icon: avatar,
title: userName,
customProperty1: bla,
customProperty2: bla,
customProperty3: bla,
...
});
我想知道我是否可以对API V2 Android做同样的事情,我想这样做的原因是每个标记的每个信息窗口都需要知道该标记的一些信息。我正在尝试在下面的render
函数中实现这一点:
private void render(Marker marker, View view) {
int badge = R.drawable.android_face;
if (marker.customProperty)
//here I need to know this property to decide which image to use
badge = R.drawable.bla;
((ImageView) view.findViewById(R.id.badge))
.setImageResource(badge);
}
发布于 2019-06-10 18:35:37
我使用Marker.setTag(Object o)
和.getTag()
来传递我的自定义位置obj。敬马可。当然,对象可以是您想要的任何类型的对象。
Marker m = googleMap.addMarker(new MarkerOptions()
.position( ... )
// setTag is not part of MarkerOptions so can't be defined here
);
m.setTag(location); // Marker.setTag()
并访问该对象。在InfoWindowAdapter中很简单:
@Override
public View getInfoContents(Marker marker) {
...
Object o = marker.getTag();
https://stackoverflow.com/questions/16997130
复制相似问题