Как я могу заменить изображение компаса MyLocationOverlay? - PullRequest
0 голосов
/ 24 августа 2010

Я хочу использовать свое изображение для замены изображения Compass MyLocationOverlay, как я могу это реализовать?

Ответы [ 2 ]

1 голос
/ 11 октября 2011

Подкласс MyLocationOverlay, переопределите метод drawCompass (холст Canvas, плавающий подшипник) и нарисуйте свои собственные растровые изображения на объекте canvas:

@Override
protected void drawCompass(Canvas canvas, float bearing) {

    Resources res = _context.getResources();
    Bitmap myCompassPointer = BitmapFactory.decodeResource(res, R.drawable.compass_pointer);

    float rotationAngle = -bearing + 360f;
    Matrix rotation = new Matrix();
    rotation.preRotate(rotationAngle, myCompassPointer.getWidth()/2.0f, myCompassPointer.getHeight()/2.0f);

    canvas.drawBitmap(myCompassPointer, rotation, null);

    // don't call super if you don't want the default compass image:
    //super.drawCompass(canvas, bearing);

}
0 голосов
/ 25 ноября 2010

Я думаю, вы можете заменить только маркер (синяя пульсирующая точка), который отображает местоположение, см. связанный вопрос StackOverflow Надеюсь, это поможет, даже если проблема кажется немного старой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...