2014-04-11 6 views
2

Google지도 API v2의 표준 설정을 사용하면 기존지도 데이터 외부로 스크롤하는 것이 허용되는 것으로 보입니다. 실제로는 스크롤링에 제한이 있지만 실제로는지도 바깥에있는 것처럼 보입니다.Google Maps API v2 :지도 테두리 스크롤을 방지합니다.

쉽게 해결할 수 있습니까? 내 프로젝트에서

enter image description here

+0

특히 JS API에서 호출 할 때 이에 대한 모든 업데이트가 필요합니까? –

+0

저는 오랫동안 다른 프로젝트로 옮겼습니다. 문제에 대한 좋은 해결책을 찾지 못했지만 AndyHs 솔루션을 확인하십시오. – Paul

답변

0

, 나는 onCameraChange에서 호출되는 함수를 사용합니다. 카메라를지도의 허용 된 영역 내로 다시 이동합니다.

// First set the bounds 
private static final LatLng NORTHEAST = new LatLng("LAT HERE", "LNG HERE"); 
private static final LatLng SOUTHWEST = new LatLng("LAT HERE", "LNG HERE"); 
private static final LatLngBounds BOUNDS = new LatLngBounds(SOUTHWEST, NORTHEAST); 

방법은 다음과 같습니다

if (BOUNDS.contains(googleMap.getCameraPosition().target)) { 
    return; 
} 

double x = googleMap.getCameraPosition().target.longitude; 
double y = googleMap.getCameraPosition().target.latitude; 

double maxX = BOUNDS.northeast.longitude; 
double maxY = BOUNDS.northeast.latitude; 
double minX = BOUNDS.southwest.longitude; 
double minY = BOUNDS.southwest.latitude; 

if (x < minX) { 
    x = minX; 
} 
if (x > maxX) { 
    x = maxX; 
} 
if (y < minY) { 
    y = minY; 
} 
if (y > maxY) { 
    y = maxY; 
} 


googleMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(y, x))); 

나는 이것이 당신이 찾고있는 것을 바랍니다.

+0

이것은 해결책입니다. 새 카메라 위치에 애니메이션을 적용하는 것이 좋습니다. 정의 된 범위의 경계를 스크롤 할 수 있기 때문에 실제로 문제에 대한 해결책은 아닙니다. 내가 갖고 싶은 것은 Google지도 앱에서와 동일한 행동입니다. 더 이상 스크롤 할 수 없습니다. – Paul

관련 문제