Изменить границы маркеров для Android-карт Google - PullRequest
2 голосов
/ 08 декабря 2011

Итак, у меня есть пользовательский оверлей, который расширяет наложенный элемент для размещения маркера на карте.Моя проблема в том, что я хотел бы настроить маркер так, чтобы границы рисованного элемента отличались от значений boundCenterBottm и boundCenter (в моем случае я хотел бы иметь что-то вроде boundLeftBottom, если оно существует).Как мне этого добиться?Причина, по которой я хочу этого добиться, заключается в том, что у меня есть чертеж, который указывает вниз в левый нижний угол.

Я искал в интернете всухую, любая помощь очень ценится.даже прозрачное пространство слева не будет принято.Я считаю это неправильным решением проблемы

Edit;

Я закончил с этим:

public class CustomOverlay extends ItemizedOverlay<CustomOverlayItem> {
    private ArrayList<CustomOverlayItem> mOverlays = new ArrayList<CustomOverlayItem>();
    private Context mContext;

    public CustomOverlay(Drawable defaultMarker, Context context) {
//      super(boundCenterBottom(defaultMarker));
        super(defaultMarker);
        defaultMarker.setBounds(0, -defaultMarker.getIntrinsicHeight(), defaultMarker.getIntrinsicWidth(), 0);  //TODO experiment
        mContext = context;
    }

Это правильно, хотя это не решило мою проблему из-за ошибкине идеальный в углу и с 3-мя различными рисунками, которые было бы трудно исправить (поэтому окончательное решение - я собираюсь исправить рисунок).

1 Ответ

3 голосов
/ 13 декабря 2011

boundCenterBottom и boundCenter - это вспомогательные функции, которые вызывают setBounds для отрисовки ... Вы можете просто вызвать это самостоятельно.

Для левого нижнего угла, я думаю, это будет выглядеть примерно так:

drawable.setBounds(0, -drawable.getIntrinsicHeight(), drawable.getIntrinsicWidth(), 0);

Но это было не в моей голове.

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