안드로이드 프로그래밍을 하던 중 로그인한 사용자를 중심으로 내 주위에 있는 친구들의 목록을 지도에 표시를 해야 할 때가 있다.
그럴때는 삼각함수를 이용하여 로그인한 사용자를 중심으로 원을 그리듯이 표시하면 깔끔하고, 보기에도 좋다.
아래는 소스이다.
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);
결과는 아래와 같다.