易景地球网页
1
/
74
EviaEarth
网页版接口函数说
Version 6.1
1. JS 调用方法
第一步:页面引入 qtloader.js,定义 canvas 标签 id qtcanvas
第二步:执行以下 js 代码:
let qtLoader = QtLoader({
canvasElements: [document.querySelector("#qtcanvas")],
showCanvas: function () {
setTimeout(() => {
window.Module.asm.fun()
}, 100);
},
});
qtLoader.loadEmscriptenModule('./static/EviaEarth');
其中#qtcanvas canvas id./static/EviaEarth
EviaEarth.wasm 文件的相对路径(不包含.wasm 后缀)
第三步:调用接口函数
上述代码中 window.Module.asm.fun()fun 为接口函数名,
1) 无参数接口使用,如 Version
window.Module.asm. Version ()
2) 参数为数字类型接口使用,如 add
window.Module.asm. add(1,2)
3) 使 Scene_Navigate
http://localhost/ getEVG?scene=earth
let ptr = allocate(
intArrayFromString("http://localhost/getEVG?scene=earth" ),
"i8",
ALLOC_NORMAL
);
window.Module.asm. Scene_Navigate(ptr)
2. 接口函数
2.1. EviaEarth
Version
Char *Version()
参数:无
返回类型:字符串
功能:取得当前 EviaEarth 网页版本号,比如:6.0.2
易景地球网页
2
/
74
LoadFont
void LoadFont(char *url)
参数:url 字符库的网络地址
返回类型:无
功能:从网络下载字体数据,加载到系统中。
说明:系统中不带字库数据信息,需要外部载入 ttf 格式的字体数据。
char_Delete
void char_Delete(char *data)
参数:data 字符串
返回类型:无
功能:释放 data 所占的字符串空间。
2.2. Scene
Scene_NAVIGATE
bool Scene_Navigate(char *url)
参数:
url:字符串类型,为易景地球 evg 网址
返回类型:bool,加载返回 true
功能:打开网络地址
Scene_RootFolder
EvEarthFolder * Scene_RootFolder();
参数:无
返回类型:EvEarthFolder*,文件夹根节点
功能:获得场景根节点文件夹对象
Scene_GetLookAt
EvEarthLookAt* Scene_GetLookAt()
参数:无
返回类型:EvEarthLookAt*
易景地球网页
3
/
74
功能:获得当前摄像机对应的 LookAt 信息
Scene_GetFlyPath
CFlyPath* Scene_GetFlyPath()
参数:无
功能:获得飞行路线管理对象。
Scene_PixelScale
double Scene_PixelScale()
参数:无
返回:当前屏幕像素的比例尺大小
Scene_WinToBL
S_Vec3Geo* Scene_WinToBL(int x,int y)
参数:
int x 屏幕横坐标,单位像素
int y 屏幕纵坐标,单位像素
返回类型:S_Vec3Geo *
功能:获得屏幕坐标x,y)对应的经纬度坐标,输出参数:x 为经度(单位度)
y 为海拔高度(单位米)z 为纬度(单位度)
注意:返回的 S_Vec3Geo 对象要调用 Geo_Delete 释放内存空间
Scene_BLToWin
S_Vec3Geo* Scene_BLToWin(double lon,double lat,double alt)
参数:
double lon 经度,单位:度
double lat 纬度,单位:度
double alt 海拔高度,单位:米
返回类型:S_Vec3Geo *
功能:获得经纬度坐标对应的屏幕坐标x,y,输出参数:x 为屏幕横坐标(单
位像素)y 为纵坐标(单位像素)z 为三维深度(0-1
注意:返回的 S_Vec3Geo 对象要调用 Geo_Delete 释放内存空间
易景地球网页
4
/
74
Scene_GetAltitude
double Scene_GetAltitude(double lon,double lat)
参数:
double lon 经度,单位:度
double lat 纬度,单位:度
返回:double,海拔高度,单位米
功能:获取经纬度坐标对于的地形高度(单位米)
Scene_BeginTempPolyline
void Scene_BeginTempPolyline(int LineColor,int LineWidth, int PointColor, int
PointSize, bool bShowPoint)
参数:
int LineColor:输入参数,线颜色
int LineWidth:输入参数,线宽度,像素单位
int PointColor:输入参数,点颜色
int PointSize:输入参数,点大小,像素单位
bool bShowPoint:输入参数,是否显示点
说明:开始在三维绘制临时多边形
Scene_AddTempPolyline
void Scene_AddTempPolyline(double longitude, double latitude, double elevation)
参数:
double longitude:经度,单位度
double latitude:纬度,单位度
double elevation:海拔高度,单位米
说明:添加一个临时多边形的点坐标
Scene_EndTempPolyline
void Scene_EndTempPolyline()
参数:无
说明:结束添加临时多边形点坐标
易景地球网页
5
/
74
Scene_ClearTempPolyline
void Scene_ClearTempPolyline()
参数:无
说明:清空三维场景中的临时多边形数据。
Scene_SetTempPolylineLifeTime
void Scene_SetTempPolylineLifeTime(float time)
参数:时间,单位秒
说明:设置临时线的生命周期,如果小于 0 为无限周期,该参数只是对闪烁功能
有效。
Scene_GetTempPolylineLifeTime
float Scene_GetTempPolylineLifeTime()
返回:时间,单位秒
说明:设置临时线的生命周期,如果小于 0 为无限周期,该参数只是对闪烁功能
有效。
Scene_SetTempPolylineTwinkling
void Scene_SetTempPolylineTwinkling(bool value)
参数:临时线闪烁,=true 表示闪烁
说明:设置临时线闪烁
Scene_GetTempPolylineTwinkling
bool Scene_GetTempPolylineTwinkling()
参数:临时线闪烁,=true 表示闪烁
说明:设置临时线闪烁
Scene_SetShowBackground
void Scene_SetShowBackground(bool value)