因为这个问题这几天遇得比较多,很多朋友遇到,所以找了以前一段代码单独贴出来,与需要的朋友分享。
//DEMO:设置经纬度WGS 84投影
void CMapxSampleView::OnViewPrjLonLat()
{
CMapXDatum datum;
datum.CreateDispatch(datum.GetClsid());
datum.SetFromList(104);
m_ctrlMapX.GetDisplayCoordSys().Set(1, datum, COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant());
}
//demo: 设置非地球投影
void CMapxSampleView::OnViewPrjNonearth()
{
//设置合适投影
CMapXRectangle bound;
VARIANT vi,vbound;
bound.CreateDispatch(bound.GetClsid());
bound.Set(-346.562690,-86.286708,446.137310,420.604172);
vbound.vt=VT_DISPATCH;
vbound.pdispVal=bound;
vi.vt =VT_I2;
vi.iVal=1;
m_ctrlMapX.GetDisplayCoordSys().Set(0,COptionalVariant(),vi,COptionalVariant(),COptionalVariant(),COptionalVariant(),COptionalVariant(),COptionalVariant(),COptionalVariant(),COptionalVariant(),COptionalVariant(),COptionalVariant(),vbound,COptionalVariant());
}