可以在 git 项目的点击事件中添加如下代码进行测试:
{
static UGC::UGGeoEvent *pGeoTextE = nullptr;
if (!pGeoTextE) {
static const UGC::UGString tag = _U("caption");
auto pGeoText = new UGC::UGGeoText;
UGC::UGSubText text1(_U("abc"));
UGC::UGSubText text2(_U("def"));
pGeoText->AddSub(PixelToMap(x, y), text1);
pGeoText->AddSub(PixelToMap(x+10, y+10), text2);
UGC::UGTextStyle tStyle;
tStyle.SetForeColor(UGRGB(0xff, 0x00, 0x00));
tStyle.SetBold(true);
tStyle.SetAlign(4);
tStyle.SetHeight(9);
tStyle.SetFixedSize(true);
pGeoText->SetTextStyle(tStyle);
auto &layer = m_pUGMapWnd->m_mapWnd.m_Map.m_TrackingLayer;
pGeoTextE = layer.Add(pGeoText, tag);
} else {
if (auto pGeoText = dynamic_cast<UGC::UGGeoText *>(pGeoTextE->GetGeometry())) {
pGeoText->SetSubAnchor(0, PixelToMap(x, y));
pGeoText->SetSubAnchor(1, PixelToMap(x+10, y+10));
}
}
Refresh();
}
各 API 的用法仅凭其注释进行开发实在是太难了……
根本没办法确定每个 API 是干什么用的,现在是根据 API 名称及注释在猜,猜半天都不知道是用法不对还是根本就不支持。