Как показать подсказку для 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. Это обеспечивает ряд других элементов пользовательского интерфейса, которые вы отключите, если захотите.