2016-07-25 3 views
0

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

layer.setToolTipTex("text"); 

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

point.setToolTipTex("text"); 

потому OMpoint не наследственное к OMGraphicHandlerLayer

ответ

0

Вы должны добавить логику, подобную следующей к слою:

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

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

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

Смежные вопросы