我们如何才能在新的谷歌地图API的Android 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));
}
这为对象的位置,标题和摘要。 但是,我希望能够去到这个地点特有的对象另一个活动,如果我点击InfoWindow
真的不知道,如果这是正确的答案,但看看我这篇文章我对这个问题提出:
由于Marker
是final
,正是这种可容易地通过将数据与链接来解决Marker
在Map
,例如HashMap<Marker, YourDataClass>
或HashMap<Marker, String>
下面是解释了所有的教程: http://bon-app-etit.blogspot.be/2012/12/add-informationobject-to-marker-in.html
如播放服务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);
有关标记数据更infomration, 这里的文档 。
尝试Android的地图的扩展它的图书馆,在那里你可以通过SetData方法添加对象标记和检索数据调用方法的getData
阅读更多
Object getData() and setData(Object) on Marker, Circle, GroundOverlay, Polygon, Polyline or TileOverlay
从摇篮您可以使用谷歌播放服务的任何版本
dependencies {
compile 'com.androidmapsextensions:android-maps-extensions:2.2.0'
compile 'com.google.android.gms:play-services-maps:8.1.0'
}