2016-10-06 2 views
0

다음 코드를 사용하여 마커를 Google지도에 추가하고 범위를 만듭니다.
는 내가 뭘하려고 그들 모두는 모든 아이콘이 나타납니다 여부Google지도에 여러 마커 추가 및 모두 포함하도록 확대

LatLngBounds.Builder builder = new LatLngBounds.Builder(); 
for(Location loc: locations) { 
    MarkerOptions marker = new MarkerOptions().position(loc.lat, loc.lon); 
    googleMap.addMarker(marker); 
    builder.include(marker.getPosition()); 
}  

LatLngBounds bounds = builder.build(); 
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 5); 
googleMap.animateCamera(cameraUpdate); 

높이를 고정 된 것을지도에서 볼 수 있도록하는 방식으로 마커와 줌을 추가인지 내가 추가 한 값에 따라 달라집니다 패딩 용.
값을 늘리면 모두 표시됩니다. 그렇지 않으면 다른 것들이 숨겨집니다.
googleMap의 고정 너비가 일정하다는 점을 고려하여 패딩에 올바른 값을 제공하려면 어떻게해야합니까?

답변

0

당신은지도 (마커의 위도와 경도와 좌표 데이터 로거를 설정)을 시작하려는 위치의 중심을 설정 시도하고 줌 레벨 설정 : 모든 코드의

LatLng center = centro = new LatLng(lat, long); 

CameraPosition cameraPosition = new CameraPosition.Builder().target(center).zoom(17).bearing(0).tilt(0).build(); 
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 
+0

이것은 작동하지 않습니다. 경계의 중심 (나는 생각한다). 그러나 어떤 표식도 보이지 않는다. – Jim

0

먼저 지도에 마커를 표시하는 방법에 대한 세부 사항에 따라 다를 수 있습니다. 이 sample 코드를 보면 개발자가 패딩에 다른 값을 제공합니다.

희망 I : 여기

/*initialize the padding for map boundary/ 
int padding = 50; 
/*create the bounds from latlngBuilder to set into map camera/ 
LatLngBounds bounds = builder.build(); 
/*create the camera with bounds and padding to set into map/ 
cu = CameraUpdateFactory.newLatLngBounds(bounds, padding); 
/*call the map call back to know map is loaded or not/ 
map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() { 
@Override 
public void onMapLoaded() { 
/*set animated zoom camera into map/ 
map.animateCamera(cu); 

} 
}); 
} 

사용하여 솔루션과 자신의 구현 newLatLngBounds를 제공하는 몇 가지 링크입니다 도와 줘!