Google지도 API v2의 표준 설정을 사용하면 기존지도 데이터 외부로 스크롤하는 것이 허용되는 것으로 보입니다. 실제로는 스크롤링에 제한이 있지만 실제로는지도 바깥에있는 것처럼 보입니다.Google Maps API v2 :지도 테두리 스크롤을 방지합니다.
쉽게 해결할 수 있습니까? 내 프로젝트에서
Google지도 API v2의 표준 설정을 사용하면 기존지도 데이터 외부로 스크롤하는 것이 허용되는 것으로 보입니다. 실제로는 스크롤링에 제한이 있지만 실제로는지도 바깥에있는 것처럼 보입니다.Google Maps API v2 :지도 테두리 스크롤을 방지합니다.
쉽게 해결할 수 있습니까? 내 프로젝트에서
, 나는 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)));
나는 이것이 당신이 찾고있는 것을 바랍니다.
이것은 해결책입니다. 새 카메라 위치에 애니메이션을 적용하는 것이 좋습니다. 정의 된 범위의 경계를 스크롤 할 수 있기 때문에 실제로 문제에 대한 해결책은 아닙니다. 내가 갖고 싶은 것은 Google지도 앱에서와 동일한 행동입니다. 더 이상 스크롤 할 수 없습니다. – Paul
특히 JS API에서 호출 할 때 이에 대한 모든 업데이트가 필요합니까? –
저는 오랫동안 다른 프로젝트로 옮겼습니다. 문제에 대한 좋은 해결책을 찾지 못했지만 AndyHs 솔루션을 확인하십시오. – Paul