안드로이드 삼각함수 이용하여 원 그리기

안드로이드 프로그래밍을 하던 중 로그인한 사용자를 중심으로 내 주위에 있는 친구들의 목록을 지도에 표시를 해야 할 때가 있다.

그럴때는 삼각함수를 이용하여 로그인한 사용자를 중심으로 원을 그리듯이 표시하면 깔끔하고, 보기에도 좋다.

아래는 소스이다.

int radius = 50;

double angle = ((i+1)*(360/size))*(Math.PI/180);
double x = (radius * Math.cos(angle));
double y = (radius * Math.sin(angle));
   
String sponTaneousName = (String)sponTaneousArr[i];

Point sponTaneousPoint = new Point((int)x, (int)y);
GeoPoint textGeoPoint = projection.fromPixels(sponTaneousPoint.x + (marker.getWidth()/2) , sponTaneousPoint.y + (marker.getHeight()/2));

MapView.LayoutParams lp = new MapView.LayoutParams(marker.getWidth(), marker.getHeight(),textGeoPoint, MapView.LayoutParams.CENTER);

ImageView iv = sponAction.getImageView(sponTaneousName);
mapView.addView(iv, lp);

ivList.add(iv);
   
GeoPoint geoPoint = projection.fromPixels(sponTaneousPoint.x + userPoint.x, sponTaneousPoint.y + userPoint.y);

PeopleSponTaneousOverlay mySpontaneousOverlay = new PeopleSponTaneousOverlay(getApplicationContext(), marker, geoPoint, iv, sponTaneousName);
overlays.add(mySpontaneousOverlay);

결과는 아래와 같다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다