2 qq 27170197 qq_27170197 于 2015.07.03 15:57 提问

VS2010与Google Earth COM API,SetCamera异常

用三个滑块分别实现视高、倾斜角、方位角的设置,刷新视图,在m_geApplication.SetCamera(m_geCamera,1.5); 这个地方出现问题。程序代码如下:
dlgRange=pAdjustDlg->m_slide1.GetPos();
dlgTilt=(pAdjustDlg->m_slide2.GetPos()*90)/100;
dlgAzimuth=((pAdjustDlg->m_slide3.GetPos()-50)*180)/50;
if(dlgRange>50)
{
geMutiple=((dlgRange-50)/10.0+1.0)*10; //计算缩小倍数
}
else if(dlgRange<50)
{
geMutiple=(10.0/((50-dlgRange)+10))*0.1; //计算放大倍数

}
else
{
geMutiple=1.0;
}

BOOL m_geTimer;                              //m_geTimer用来控制Timer()函数
m_geTimer=pAdjustDlg->IsTimer;               //判断是否停止调整操作

if(m_geTimer==FALSE)
{
    KillTimer(1);                            //关闭定时器
}
m_geCamera.SetRange(geMutiple*oldRange);     //重新设置当前视高
m_geCamera.SetTilt((double)dlgTilt);         //重新设置当前倾斜视角
m_geCamera.SetAzimuth((double)dlgAzimuth);   //重新设置当前方位视角

** m_geApplication.SetCamera(m_geCamera,1.5); //刷新视图**前面的代码都正常,调试到这一句就出现异常。我用try……catch……捕获到的是 COleDispatchException这个异常,我不懂这个是什么意思。求各位大侠帮忙看看,挺着急的。

1个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.03 16:49

估计就是SetCamera所传入的参数有问题

oyljerry
oyljerry 回复bug大王: 最好参考sdk文档
2 年多之前 回复
qq_27170197
qq_27170197 SetCamera的第一个参数为LPDISPATCH类型,LPDISPATCH类型是什么意思我不太清楚
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片