|
阅读:996回复:0
vc+mapx的一点问题 急!!!
<P>地图在放大缩小时发生拉伸形变,自己做的地图,用setcurrenttool好像不行,是否要像mo里那样获取选择矩形框,具体怎么搞?</P>
<P>程序运行中生成新的tab,再用addlayer总是不行,怎么搞?</P> <P>我的代码如下:</P> <P>CMapXLayerInfo lyrInfo; lyrInfo.CreateDispatch(lyrInfo.GetClsid()); COleVariant lyrinfoVt; lyrinfoVt.vt = VT_DISPATCH; lyrinfoVt.pdispVal = lyrInfo.m_lpDispatch; lyrinfoVt.pdispVal->AddRef();</P> <P> CMapXFields fields; fields.CreateDispatch(fields.GetClsid());</P> <P> fields.Add(COleVariant("Name"), COleVariant("Name"), COleVariant((short)miAggregationIndividual), COleVariant((short)miTypeString))</P> <P> COleVariant fieldsVt; try { fieldsVt.vt = VT_DISPATCH; fieldsVt.pdispVal = fields.m_lpDispatch; fieldsVt.pdispVal->AddRef(); } catch(...) { AfxMessageBox("fail to create fields!"); }</P> <P> lyrInfo.SetType(miLayerInfoTypeTemp); <a>file://lyrInfo.AddParameter</A>("FileSpec", COleVariant("mytgt.tab")); lyrInfo.AddParameter("Name", COleVariant("Target")); lyrInfo.AddParameter("Fields", fieldsVt);*/</P> <P> // ctrlWorldMap.GetLayers().Add(/*LPDISPATCH(*/lyrInfo/*)*/,1); // ctrlWorldMap.GetLayers().Add("map\\目标.tab");</P> <img src="images/post/smile/dvbbs/em12.gif" /> |
|