Кажется, что маркеры в ItemizedOverlay
не отображаются на карте, если вы не вызываете boundCenter()
или boundCenterBottom()
на маркер по умолчанию.
Это правильно, и если да, то почему? Разве что точка (0,0) не установлена вообще по умолчанию, и, таким образом, Android не знает, как разместить маркеры?
Update:
Я вижу, что у вас также есть Drawable.setBounds(), поэтому я предполагаю, что boundCenter()
и boundCenterBottom()
вызывает этот метод. Как определяется, какая часть Drawable используется в качестве точки вывода на карте?
Смотрите этот пример о том, как использовать 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;
}
Это смещает границы сверху/слева, до нижней/центральной.
Вы должны установить BOUNDS в некотором роде, если хотите, чтобы они появились. Не имеет значения, какой метод вы используете, но если нет никаких ограничений на ваши возможности, его оценки равны 0,0,0,0 или что-то в этом роде, и вы ничего не увидите.