huaxiaotian
路人甲
路人甲
  • 注册日期2006-04-29
  • 发帖数16
  • QQ
  • 铜币162枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1621回复:2

[求助]vc+Mapx 我的圆怎么画不出来啊?高手指教

楼主#
更多 发布于:2006-06-22 17:42
<P>VCMapXPoints  Pnts;<BR> CMapXFeatureFactory FeaFac;<BR> CMapXLayer   Layer;<BR> CMapXFeature Feature;<BR> CMapXStyle   Style;<BR> CMapXRectangle rect;<BR> // 判断是否存在tempLayer图层<BR> CMapXLayers layers=m_ctrlMapX.GetLayers();<BR> BOOL Flag=false;<BR> for(int i=0;i<layers.GetCount();i++)<BR> {<BR>  Layer=layers.Item(i+1);<BR>  if(Layer.GetName()=="tempCircular") <BR>  {<BR>    Flag=true;  <BR>    break;<BR>  }<BR> }<BR> //没有tempLayer图层,就新建<BR> if (Flag==false)<BR> {<BR>  CMapXLayer lyr=m_ctrlMapX.GetLayers().CreateLayer("tempCircular");<BR>  m_ctrlMapX.GetLayers().SetAnimationLayer(lyr); //设为动态图层  <BR> }<BR> Layer=m_ctrlMapX.GetLayers().Item("tempCircular");<BR> FeaFac=m_ctrlMapX.GetFeatureFactory();<BR> COleVariant vtPoints;<BR> vtPoints.vt=VT_DISPATCH;<BR> vtPoints.pdispVal=Pnts.m_lpDispatch;<BR> vtPoints.pdispVal->AddRef();<BR> //Feature=FeaFac.CreateRegion(vtPoints);<BR> double x = m_BeginPoint.GetX();</P>
<P>//point1.Set(116.0,40.0);    //监控目标的经纬度<BR> VARIANT p1;<BR> p1.vt = VT_DISPATCH;<BR> CMapXPoint m_BeginPoint,m_EndPoint;<BR> p1.pdispVal = m_BeginPoint.m_lpDispatch;<BR> m_BeginPoint.CreateDispatch(m_BeginPoint.GetClsid());<BR> m_EndPoint.CreateDispatch(m_EndPoint.GetClsid());<BR> m_BeginPoint.Set(116,40);<BR> m_EndPoint.Set(206,40);<BR> double d = m_ctrlMapX.Distance(m_BeginPoint.GetX(), m_BeginPoint.GetY(), m_EndPoint.GetX(), m_EndPoint.GetY());<BR> <BR> Feature=FeaFac.CreateCircularRegion(miCircleTypeMap,m_BeginPoint,d,m_ctrlMapX.GetMapUnit());<BR> Style=Feature.GetStyle();<BR> Style.SetRegionPattern(miPatternNoFill); //填充颜色 无<BR> Style.SetRegionBorderColor(miColorRed); //边框颜色 红<BR> Style.SetRegionBorderWidth(2);          //边框宽度</P>
<P> Feature.SetStyle(Style.m_lpDispatch);<BR> Layer.AddFeature(Feature);              //加入Feature<BR> Layer.Refresh(); //更新图层</P>
喜欢0 评分0
huaxiaotian
路人甲
路人甲
  • 注册日期2006-04-29
  • 发帖数16
  • QQ
  • 铜币162枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-07-12 13:51
<P>多谢,我改成</P>
<P>m_BeginPoint.Set(116,40);<BR>m_EndPoint.Set(126,40);</P>
<P>就没有问题了,但是画的圆和多边形一样,该怎样解决啊?高手指教</P>
举报 回复(0) 喜欢(0)     评分
hongstx
路人甲
路人甲
  • 注册日期2006-04-10
  • 发帖数11
  • QQ
  • 铜币151枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-07-12 10:19
<P>m_BeginPoint.Set(116,40);<BR>m_EndPoint.Set(206,40);</P>
<P>经纬度不对.</P>

<P>m_BeginPoint.Set(-116,40);<BR>m_EndPoint.Set(-126,40);</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部