Android Google Maps V2 - Add Object To Marker
Solution 1:
Not really sure if this is the correct answer, but take a look at this blogpost I made about this problem:
Since Marker
is final
, it's this can easily be solved by linking the data with the Marker
in a Map
, for example HashMap<Marker, YourDataClass>
or HashMap<Marker, String>
Here's a tutorial that explains all: http://bon-app-etit.blogspot.be/2012/12/add-informationobject-to-marker-in.html
Solution 2:
As of Play Services v9.4.0, you can now set any object directly upon a marker!
To save the data:
Markermarker= getMap().addMarker(newMarkerOptions()
.position(lat, lng)
.title(spot.getName());
CustomObjectmyData=newCustomObject();
marker.setTag(myData);
Then to retreive your data:
CustomObjectmyRestoredData= (CustomObject)marker.getTag(myData);
For more infomration on marker data, here are the docs.
Solution 3:
Try android-maps-extensions its library where you can add object to mark by setdata method and retrieve data call method getData
ObjectgetData() and setData(Object) on Marker, Circle, GroundOverlay, Polygon, Polyline or TileOverlay
from Gradle You may use any version of Google Play Services
dependencies {
compile'com.androidmapsextensions:android-maps-extensions:2.2.0'compile'com.google.android.gms:play-services-maps:8.1.0'
}
Solution 4:
You can bind an object within the marker after adding it on the map like:
MarkerOptionsmarkerOptions=newMarkerOptions().position(YOUR_LANG_LAT).title(YOUR_TITLE);
MarkeraddedMarker= mMap.addMarker(markerOptions);
CustomObjectobj=newCustomObject();
addedMarker.setTag(obj);
Then on map click for instance you can retrieve your object as:
mMap.setOnMarkerClickListener(marker -> {
CustomObjectobj= (CustomObject) marker.getTag();
returnfalse;
});
Post a Comment for "Android Google Maps V2 - Add Object To Marker"