首页 / 浏览问题 / 组件GIS / 问题详情
C++ 动态图层添加 UGGeoText 无法显示
19EXP 2019年09月05日

 在动态图层中添加 UGGeoText 无法显示,然后在

https://github.com/Jun0x01/JunSuCpp.git

中的点击事件中添加测试代码,也无法显示。

void MapControl::OnLMouseDown(unsigned int nFlags, int x, int y, void* pHDC)
{
    {
        auto pGeoText(new UGC::UGGeoText);
        auto text = UGC::UGSubText(_U("测试测试"));
        pGeoText->Make(PixelToMap(x, y), text);

        UGC::UGTextStyle style;
        style.SetBackColor(UGRGB(0xff, 0x00, 0x00));
        style.SetSize(100);
        pGeoText->SetTextStyle(style);

        auto dy = new UGC::UGDynamicLayer;
        UGC::UGString TAG = _U("test");
        dy->Add(TAG, pGeoText);
        m_pUGMapWnd->m_mapWnd.m_Map.m_DynamicLayers.Add(dy);
        Refresh();
    }

    // ....
}

1个回答

您好,地图默认比例尺很小,可能因为文本对象太小,而看不见,可以使用UGTextStyle::SetFixedSize(true)设置文本固定大小,不随图缩放,以便查看。
694EXP 2019年09月05日
设置 UGTextStyle::SetFixedSize(true) 后仍看不到,放大地图也没有效果。
您好,很抱歉,动态层不支持文本对象,您可以将它添加到跟踪层上,m_Map.m_TrackingLayer

这个问题的回复中有一个例子,是添加到动态图层的,版本问题?

http://ask.supermap.com/6363

现在文本是随其他 geometry 一起添加的,需要对多个图层独立控制,一个 geometry 加到动态图层,caption 又加到跟踪图层,不方便使用啊。

...