결국 오버레이의 그리기 방법에서 getMapCenter
에 대한 호출을 추가하여 직접 질문에 대답했습니다.
public MyOverlay(TextView lblCoords) {
super();
coordinateLabel = lblCoords;
}
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
super.draw(canvas, mapView, shadow);
currentCenter = mapView.getMapCenter();
latitude = currentCenter.getLatitudeE6()/1E6;
longitude = currentCenter.getLatitudeE6()/1E6;
coordinateLabel.setText("lat: " + latitude + " long: " + longitude);
}
또한 MapView
클래스를 확장 할 수 있으며이 사용자가 화면을 이동하는 경우에만 업데이트됩니다 있도록 onInterceptTouchEvent
방법에 좌표 코드를 삽입. onDraw가 지속적으로 호출되기 때문에 오버레이 onDraw에 배치하는 것보다 더 효율적입니다.
결국이 메소드에 카운터를 추가하여 모든 호출을 호출하지 않았습니다. 대부분의 응용 프로그램에는 10 ~ 20 건의 통화로 충분합니다. –