MapView가 있으며 getController(). zoomToSpan()을 호출합니다. zoomToSpan()에서 내 문제는지도 핀 외부에서 일관된 (예 : 15dp) 패딩을 사용하여 사용자가 집어서 축소 할 필요없이 선택할 수 있도록하려는 것입니다. 현재지도 핀의 최소/최대 long/lat로 zoomToSpan()을 채우므로 가장자리에있는 것들이 즉시 보이지 않거나 선택할 수 없습니다.MapViewController.zoomToSpan()에 패딩 추가
필자는 고정 된 long/lat 패딩을 사용하는 것을 고려해 봤지만 맵 핀이 너무 가깝거나 멀리 떨어져 있지 않을 것이라고 보장하지 않습니다. 따라서 고정 된 long/lat 패딩이 대부분의 경우 작동 할 수 있지만 모든 경우에 작동하지는 않습니다. 나는 현재 zoomToPan()를 설정하고 방법
이
은 다음과 같습니다mapView.getController().zoomToSpan(MapPoint.convertToGeoPoint(Math.abs(fMinLat - fMaxLat)), MapPoint.convertToGeoPoint(Math.abs(fMinLong - fMaxLong)));
이 내가 그것을 설정하는 방법에 가지고 있던 생각입니다,하지만 나는 그것이 실제로 문제를 해결하거나이있는 경우 확실하지 않다 그것을 할 수있는 더 좋은 방법 :
mapView.getController().zoomToSpan(MapPoint.convertToGeoPoint((float) (Math.abs(fMinLat-fMaxLat) + (Math.abs(fMaxLat - fMaxLat)) * 0.5)), MapPoint.convertToGeoPoint((float) (Math.abs(fMinLong-fMaxLong) + (Math.abs(fMinLong - fMaxLong) * 0.5))));
나는이 질문을 이미 체크 아웃했다. 나는 광택을 내고 싶습니다 : zoomToSpan implementation problem 및 Calculating zoomToSpan() degrees based on min/max lat/lng to be in the mapView.