Android maps auto zooming -
hi im having little issue displaying points on map. use arraylist store multiple lat/lng values , loop add point , auto zoom. works fine when there 2 or more markers. problem when 1 marker added zooms in close.
anyone know how resolve this?
public static void processmap() { (int = 0; < lat.size(); i++) { markeroptions markeroptions = new markeroptions(); latlng latlng = new latlng(lat.get(i), lng.get(i)); markeroptions.position(latlng); markeroptions.title("title"); markeroptions.snippet("description"); mmap.addmarker(markeroptions); bounds.include(new latlng(lat.get(i), lng.get(i))); } mmap.movecamera(cameraupdatefactory.newlatlngbounds(bounds.build(), 150)); }
updated code
public static void processmap() { int num = 0; double lat2 = 0; double lng2 = 0; (int l = 0; l < lat.size(); l++) { lat2 = lat.get(l); lng2 = lng.get(l); latlng latlng = new latlng(lat2, lng2); markeroptions markeroptions = new markeroptions(); markeroptions.position(latlng); markeroptions.title(title.get(l)); markeroptions.snippet(description.get(l)); mmap.addmarker(markeroptions); bounds.include(new latlng(lat2, lng2)); num++; } if (num == 1) { // if 1 marker latlng latlng2 = new latlng(lat2, lng2); mmap.movecamera(cameraupdatefactory.newlatlngzoom(latlng2, 16)); } else { // more 1 marker mmap.movecamera(cameraupdatefactory.newlatlngbounds(bounds.build(), 150)); } }
hi sorry didn't reply earlier attempting fix problem. managed fix it, correct way of going it?
the edit made should fix problem. anyway don't need set new latlng if have 1 marker. passing bound should do. make little edit:
if (num == 1) { // if 1 marker mmap.movecamera(cameraupdatefactory.newlatlngzoom(bounds.build(), 16)); } else { // more 1 marker mmap.movecamera(cameraupdatefactory.newlatlngbounds(bounds.build(), 150)); }
hope helps. luck!
Comments
Post a Comment