Как показать подсказку для OMPoint

Я пытаюсь показать всплывающую подсказку для OMPoint ( com.bbn.openmap.omGraphics.OMPoint) OMPoint находится в слое (OMGraphicHandlerLayer). Я делаю:

layer.setToolTipTex("text");

Таким образом, всплывающая подсказка отображается во всех слоях. Есть ли у вас какие-либо советы, потому что я не могу сделать:

point.setToolTipTex("text");

потому что OMpoint не наследственный для OMGraphicHandlerLayer

1 ответ

Вам нужно добавить логику, аналогичную следующей для вашего слоя:

@Override
public String getToolTipTextFor(OMGraphic graphic)
{
    Object value = graphic.getAttribute(OMGraphic.TOOLTIP);
    if (value instanceof String)
    {
        return (String) value;
    }
    return null;
}

Использование графических атрибутов для хранения всплывающей подсказки необязательно, если этот метод возвращает текст, который вы хотите отобразить.

На карте должен быть зарегистрирован InfoDisplayListener, чтобы обрабатывать отображение всплывающей подсказки на карте. Я использовал встроенный компонент карты InformationDelegator. Это обеспечивает ряд других элементов пользовательского интерфейса, которые вы отключите, если захотите.

Другие вопросы по тегам