Reputation: 7536
Hi I am developing small android application in which I want to display map and some markers on map. I have list of latlang values and i want to display it on map. I tried this in following way :
for(int pin=0; pin<pins.size(); pin++)
{
LatLng pinLocation = new LatLng(Float.parseFloat(pins.get(pin).latitude), Float.parseFloat(pins.get(pin).longitude));
Marker storeMarker = map.addMarker(new MarkerOptions()
.position(pinLocation)
.title(pins.get(pin).pinname)
.snippet(pins.get(pin).address)
);
}
So my problem is that when I try above method it just display last marker not showing all marker. How to do this. Need help. thank you.
Upvotes: 0
Views: 4540
Reputation: 4425
for(int pin=0; pin<pins.size(); pin++)
{
LatLng pinLocation = new LatLng(Float.parseFloat(pins.get(pin).latitude), Float.parseFloat(pins.get(pin).longitude));
Marker storeMarker = map.addMarker(new MarkerOptions()
.position(pinLocation )-->here i had made some changes add "pinLocation" instead of "storeLocation"
.title(pins.get(pin).pinname)
.snippet(pins.get(pin).address)
);
}
and after first check size of pins.size() ..
Upvotes: 2
Reputation: 18933
You can use like this:
for (int i = 0; i < pins.size(); i++) {
double lati=Double.parseDouble(pins.get(i).latitude);
double longLat=Double.parseDouble(pins.get(i).longitude);
MAP.addMarker(new MarkerOptions().
position(
new LatLng(lati,longLat)).title(pins.get(i).pinname).snippet(pins.get(i).address));
}
Upvotes: 1
Reputation: 11188
for (int i = 0; i < ComponentMapList.size(); i++) {
String city = ComponentMapList.get(i).getCity();
if (city != null) {
center = CameraUpdateFactory.newLatLng(new LatLng(
ComponentMapList.get(i).getLat(),
ComponentMapList.get(i).getLng()));
mMap.addMarker(new MarkerOptions().position(
new LatLng(ComponentMapList.get(i).getLat(),
ComponentMapList.get(i).getLng()))
.title(city));
}
}
Upvotes: 0
Reputation: 4108
Use shared preferences like below
// Opening the sharedPreferences object
sharedPreferences = getSharedPreferences("location", 0);
// Getting number of locations already stored
locationCount = sharedPreferences.getInt("locationCount", 0);
// Getting stored zoom level if exists else return 0
String zoom = sharedPreferences.getString("zoom", "0");
// If locations are already saved
if(locationCount!=0){
String lat = "";
String lng = "";
// Iterating through all the locations stored
for(int i=0;i<locationCount;i++){
// Getting the latitude of the i-th location
lat = sharedPreferences.getString("lat"+i,"0");
// Getting the longitude of the i-th location
lng = sharedPreferences.getString("lng"+i,"0");
// Drawing marker on the map
drawMarker(new LatLng(Double.parseDouble(lat), Double.parseDouble(lng)));
}
For marking Marker:
SharedPreferences.Editor editor = sharedPreferences.edit();
// Storing the latitude for the i-th location
editor.putString("lat"+ Integer.toString((locationCount-1)), Double.toString(point.latitude));
// Storing the longitude for the i-th location
editor.putString("lng"+ Integer.toString((locationCount-1)), Double.toString(point.longitude));
// Storing the count of locations or marker count
editor.putInt("locationCount", locationCount);
/** Storing the zoom level to the shared preferences */
editor.putString("zoom", Float.toString(googleMap.getCameraPosition().zoom));
/** Saving the values stored in the shared preferences */
editor.commit();
Toast.makeText(getBaseContext(), "Marker is added to the Map", Toast.LENGTH_SHORT).show();
Refer this one...source code is availbale
Upvotes: 0