안드로이드 개발 질문/답변
(글 수 45,052)
public class Markers extends Overlay {
private int GeoX;
private int GeoY;
private String TargetName;
public Markers (int[] Geopoint, String TargetName){
this.GeoX = Geopoint[0];
this.GeoY = Geopoint[1];
this.TargetName = TargetName;
}
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
// TODO Auto-generated method stub
super.draw(canvas, mapView, shadow);
Paint Cursor_Paint = new Paint();
Paint Text_Paint = new Paint();
Resources R = getResources();
BitmapDrawable BitDraw = (BitmapDrawable)R.getDrawable(R.drawable.cursor_icon);
Bitmap Bit = BitDraw.getBitmap();
// Cursor_Paint.setARGB(64, 255, 0, 0); // alpha, red, green, blue
Text_Paint.setARGB(255, 255, 0, 0);
Text_Paint.setTextSize(20);
//Text_Paint.setTextAlign(Paint.Align.CENTER); //Text Alignment
// 아래에서 사용된 아규먼트는 위도, 경도 정보(40.756054)에서 가운데 '.' 을 뺀 것
GeoPoint geoPoint = new GeoPoint(GeoX,GeoY);
Point pixPoint = new Point();
mapView.getProjection().toPixels(geoPoint, pixPoint); // 지리좌표를 화면상의 픽셀좌표로 변환
// drawCircle(float cx, float cy, float radius, Paint paint) ;
// drawLine(float startX, float startY, float stopX, float stopY, Paint paint) ;
// drawText(String text, float x, float y, Paint paint) ;
//canvas.drawCircle(pixPoint.x, pixPoint.y, 5, Cursor_Paint);
canvas.drawBitmap(Bit, pixPoint.x, pixPoint.y, Cursor_Paint);
canvas.drawText(TargetName, pixPoint.x+10, pixPoint.y, Text_Paint);
}
}
이런 식인데요, getResources()를 이용해 drawable에 있는 icon을 가져와서 마커로 사용하려고 합니다
근데 getResources()에서 자꾸 인식이 안되네요 ㅠㅠ
구글 등에서 찾아보니 context. 이나 ConText. 이나 this. 을 사용해보라는데 전부 안되요;; 위 코드에서 getResources()앞에 붙였었어요
임포트해도 바뀌는게 없고 ㅠㅠ
그리고 위와같이 하려고 drawable-hpdi에다가 cursor_icon을 만들어 넣어서 id에 추가가 되었느데, 실행하면 drawable 이미지들이 하나씩 밀려나는 현상도 발생하네요...ㅡㅡ;;; 보니까 cursor_icon이 drawable에서 기존에 있던것들 사이에 끼어들어가서 주소를 하나씩 밀어내는데 그게 적용이 안되는것 같아요...



