osg earth中加载标签并设置文字 以及使用注意事项

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);

 

おすすめ

転載: blog.csdn.net/vcit102/article/details/131932353
おすすめ