osgearth中加载标签并设置文字
//头文件
#include <osgEarthAnnotation/PlaceNode>
#include <osgEarthSymbology/Style>
#include <osgEarth/MapNode>
osgEarth::GeoPoint position(m_mapnode->getMapSRS(), lon, lat, 0, osgEarth::AltitudeMode::ALTMODE_ABSOLUTE);//这里设置标签的位置(已知标签的经纬度lon,lat)
osg::Image *image = osgDB::readImageFile("人脸.png");//这里设置标签图片
string str = to_string(num);//这里设置文字内容
//设置标签文字
osgEarth::Symbology::Style style;
osgEarth::Symbology::TextSymbol *textStyle = style.getOrCreateSymbol<osgEarth::Symbology::TextSymbol>();
textStyle->alignment() = osgEarth::Symbology::TextSymbol::ALIGN_CENTER_BOTTOM;//设置文字相对图标位置
textStyle->fill()->color() = osgEarth::Symbology::Color::Red;//设置文字颜色
//初始化标签并赋值
osgEarth::Annotation::PlaceNode *pn = new osgEarth::Annotation::PlaceNode(mapnode,position,image,str,style);
mapnode->addchild(pn);