2010-12-01 6 views
2

Google지도에 마커 두 개를 배치했습니다. 하나는 미국에 있고 다른 하나는 아시아에 있습니다. Google은 줌 레벨을 1, 2, 3, 4, 5, 6 등으로 지정합니다.마커 위치에 따라 Google지도의 확대/축소 수준을 설정하는 방법

줌 레벨을 하드 코딩하고 싶지 않습니다. 거리에 따라 모든 마커를 표시하려면 어떻게해야합니까? 나는. 두 항목이 서로 매우 가깝거나 같은 도시에있는 경우 가까운 확대/축소 수준을 사용해야하며 멀리 떨어져 있으면 최대 확대/축소 수준을 사용해야합니다.

+0

당신은 웹 또는 구글지도를 표시하는 안드로이드에 사용 된지도보기 클래스에 대한 Google지도 API에 대해 이야기하고 있는가? – Flo

+0

이것이이 링크에있는 질문입니다.이 문제도 있지만 해결되었습니다. http://stackoverflow.com/questions/5114710/android-setting-zoom-level-in-google-maps-to-include-all-marker-points – Talha

답변

0

지도를 생성하는 데 무엇을 사용하고 있습니까? 나는 약 8 개월 전 광산 프로젝트에서 GMap2 API를 사용하고 있는데, 'GDirections (map {{div}})'라고 불러야 만 한 것 같습니다. 지도 div에서 두 위치 사이의 경로를 표시하고 줌 레벨을 적절하게 조정할 수 있습니다.

+0

죄송합니다 답변이 명확하지 않습니다. 경로를 원하지만 확대/축소 수준을 설정하지 않았습니다. 두 마커 .. – UMAR

1

당신은 다음 위도 경도 경계가 카메라를 설정 아래 객체를 사용하여, 경계 상자에 그 마커를 포함해야합니다

private void addMarkers() { 
    MarkerOptions markerOptions = new MarkerOptions(); 
    LatLngBounds.Builder boundsBuilder = new LatLngBounds.Builder(); 

    //add the marker locations that you'd like to display on the map 
    boundsBuilder.include(new LatLng(lat1, lng1)); 
    boundsBuilder.include(new LatLng(lat2, lng2)); 

    final LatLngBounds bounds = boundsBuilder.build(); 

    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, width, height, padding); 
    map.animateCamera(cameraUpdate); 
} 
관련 문제