Google Earth API如何用键盘控制视点
作者:cnfgg 日期:2009-08-21
具体代码如下:
复制内容到剪贴板
程序代码
程序代码#include "googleearth.h"
void CGoogleEarthDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
ICameraInfoGE geCamera = m_geApplication.GetCamera(TRUE);
if(geCamera != NULL)
{
m_dLongitude = geCamera.GetFocusPointLongitude();
m_dLatitude = geCamera.GetFocusPointLatitude();
m_dRange = geCamera.GetRange();
m_dTilt = geCamera.GetTilt();
}
switch(nChar)
{
case VK_LEFT:m_dPlaneLongitude -= 1.0/3600/10;break;
case 'A':m_dLongitude -= 1.0/3600/10;break;
case VK_RIGHT:m_dPlaneLongitude += 1.0/3600/10;break;
case 'D':m_dLongitude += 1.0/3600/10;break;
case VK_UP:m_dPlaneLatitude += 1.0/3600/10;break;
case 'W':m_dLatitude += 1.0/3600/10;break;
case VK_DOWN:m_dPlaneLatitude -= 1.0/3600/10;break;
case 'S':m_dLatitude -= 1.0/3600/10;break;
case 'J': if(m_dTilt >= 2) m_dTilt -= 2.0;break;
case 'K': if(m_dTilt < 86) m_dTilt += 2.0;break;
}
m_geCamera.SetFocusPointLongitude(m_dLongitude);
m_geCamera.SetFocusPointLatitude(m_dLatitude);
m_geCamera.SetRange(m_dRange);
m_geCamera.SetTilt(m_dTilt);
m_geApplication.SetCamera(m_geCamera, 5);
CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags:
相关日志: