Android Google Maps v2 – 将对象添加到标记

我们如何在新的Google Maps Android API v2中将对象添加到标记中? 所以如果我们点击InfoWindow ,我们可以用对象做些什么?

 public void addSpotOnMap(Spot spot) { getMap().addMarker(new MarkerOptions() .position(new LatLng(spot.getParseGeoPoint().getLatitude(), spot.getParseGeoPoint().getLongitude())) .title(spot.getName()) .snippet(spot.getCategory()) .draggable(false)); } 

这将设置对象的位置,标题和片段。 但是我希望能够去关于这个特定的Spot对象的另一个活动,如果我点击InfoWindow

Solutions Collecting From Web of "Android Google Maps v2 – 将对象添加到标记"

不知道这是否是正确的答案,但看看这个博客我提出了这个问题:

由于Markerfinal ,所以这可以通过将数据与MapMarker链接来解决,例如HashMap<Marker, YourDataClass>HashMap<Marker, String>

这是一个解释所有的教程: http : //bon-app-etit.blogspot.be/2012/12/add-informationobject-to-marker-in.html

从Play Services v9.4.0开始,您现在可以直接在标记上设置任何对象!

要保存数据:

 Marker marker = getMap().addMarker(new MarkerOptions() .position(lat, lng) .title(spot.getName()); CustomObject myData = new CustomObject(); marker.setTag(myData); 

然后检索您的数据:

 CustomObject myRestoredData = (CustomObject)marker.getTag(myData); 

有关标记数据的更多信息,请参阅文档 。

尝试android-maps-extensions它的库,你可以通过setdata方法添加对象来标记,并检索数据调用方法getData

阅读更多

 Object getData() and setData(Object) on Marker, Circle, GroundOverlay, Polygon, Polyline or TileOverlay 

来自Gradle您可以使用任何版本的Google Play服务

 dependencies { compile 'com.androidmapsextensions:android-maps-extensions:2.2.0' compile 'com.google.android.gms:play-services-maps:8.1.0' }