我在我的某个应用程序中使用了地图。我想知道在点击标记时获取标记的关联对象的常用/有效方法是什么。 而且我也想知道什么是当前的标记索引。
答案 0 :(得分:0)
mMap.addMarker(new MarkerOptions()
.position(MELBOURNE)
.title("Melbourne")
.snippet(KEY + "Population: 4,137,400"));
@Override
public boolean onMarkerClick(Marker marker) {
String s = marker.getSnippet()
}
答案 1 :(得分:0)
试试这个
{
private Marker myMarker;
private void setUpMap()
{
.......
googleMap.setOnMarkerClickListener(this);
myMarker = googleMap.addMarker(new MarkerOptions()
.position(latLng)
.title("My Spot")
.snippet("This is my spot!")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
......
}
@Override
public boolean onMarkerClick(final Marker marker) {
if (marker.equals(myMarker))
{
//handle click here
}
}
}
答案 2 :(得分:0)
Here你可以看到HashMap示例。
您可以创建一个全局HashMap变量,如
HashMap< Marker, YourClass> hashMap=new HashMap<Marker, YourClass>();
当你在地图上添加标记时,将标记作为键,将对象作为值,如
MarkerOptions options = new MarkerOptions();
options.position(new LatLng(Lat, Lng));
options.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_your_marker));
Marker mMarker = googleMap.addMarker(options);
mMarker.setTitle("Title");
hashMap.put(mMarker,YourClassObject);
然后覆盖onMarkerClick方法,如
@Override
public boolean onMarkerClick(Marker marker) {
YourClass obj=(YourClass) hashMap.get(marker);
//now you can use corresponding object
}