Zin*_*tet 23 android google-maps
我正在尝试根据POJO id为每个匹配 API的标记设置onInfoWindowClickListener.这就是我在设置onInfoWindowClick事件时发现的.
googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
// TODO Auto-generated method stub
}
});
Run Code Online (Sandbox Code Playgroud)
不过,我需要设置相关的POJO的ID作为标签相关的标志物我之前做googleMap.addMarker(marker)
.但没有这样的事情marker.setTag()
.如何在不设置标签的情况下放置我的ID?
Bal*_*yak 74
现在你可以这样做
将您的Google Play服务版本更新为
com.google.android.gms:play-services:9.4.0
Marker marker=mMap.addmarker(new MarkerOptions(LatLang));
// set object as tag
marker.setTag(your object)
// to retrieve the marker
marker.getTag();// Type cast to your object type;
Run Code Online (Sandbox Code Playgroud)
我有一个方法.只需HashMap
使用您的主要Marker
和另一个创建,并根据特定 点击POJO Class
返回您POJO Class
的Marker
getInfoContents(.....)
尝试在地图标记上调用 setTag() 方法,而不是在 MarkerOptions 对象上调用。例如,
private void addMk(LatLng latLng, String title, String snips,String tagId) {
MarkerOptions options = new MarkerOptions()
.position(latLng)
.title(title)
.snippet(snips);
googleMap //Google googleMap object for map reference
.addMarker(options)
.setTag(tagId);
}
googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
// TODO Auto-generated method stub
String tagId= String.valueOf(marker.getTag());
Log.d(TAG, "onInfoWindowClick: TAG_ID "+tagId);
}
});
Run Code Online (Sandbox Code Playgroud)
希望,这有效!
归档时间: |
|
查看次数: |
16851 次 |
最近记录: |