boundCenter () / boundCenterBottom () обязателен для маркеров в ItemizedOverlay?

1

Кажется, что маркеры в ItemizedOverlay не отображаются на карте, если вы не вызываете boundCenter() или boundCenterBottom() на маркер по умолчанию.

Это правильно, и если да, то почему? Разве что точка (0,0) не установлена ​​вообще по умолчанию, и, таким образом, Android не знает, как разместить маркеры?

Update:

Я вижу, что у вас также есть Drawable.setBounds(), поэтому я предполагаю, что boundCenter() и boundCenterBottom() вызывает этот метод. Как определяется, какая часть Drawable используется в качестве точки вывода на карте?

Теги:
android-maps

2 ответа

3
Лучший ответ

Смотрите этот пример о том, как использовать boundCenter()

Я считаю, что для вызова boundCenter() для работы ваш Drawable должен иметь некоторую внутреннюю ширину и высоту. Я предполагаю, что это работает примерно так:

public static Drawable boundCenter(Drawable d)
{
     d.setBounds(d.getIntrinsicWidth() /- 2, d.getIntrinsicHeight() / -2,
                 d.getIntrinsicWidth / 2, d.getIntrinsicHeight() / 2);
     return d;
}

Это смещает границы сверху/слева, до нижней/центральной.

0

Вы должны установить BOUNDS в некотором роде, если хотите, чтобы они появились. Не имеет значения, какой метод вы используете, но если нет никаких ограничений на ваши возможности, его оценки равны 0,0,0,0 или что-то в этом роде, и вы ничего не увидите.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню