gps显示与文字跟踪

来源:互联网 发布:sql修改数据语句 编辑:程序博客网 时间:2024/05/18 02:27

 /GPS显示
bool SuperMapGISCtrl::ShowGps( double longtitudeX, double latitudeY, CString gpsid, long iconNum, CString introduction )
{
 
 CsoGeoPoint objGeoPoint;
 CsoStyle objSty;
 

 objSty.CreateDispatch( L"SuperMap.soStyle" ); 
 objSty.SetSymbolStyle(m_BufferParam.GpsIcon);
 objSty.SetSymbolSize(50); 
 objGeoPoint.CreateDispatch( L"SuperMap.soGeoPoint" );
 objGeoPoint.Setx( longtitudeX );
 objGeoPoint.Sety( latitudeY );


 //car text
 CsoTextPart objTextPart;
 CsoGeoText objText;
 objTextPart.CreateDispatch(L"SuperMap.soTextPart");
 objText.CreateDispatch(L"SuperMap.soGeoText");
 
 objTextPart.Setx( m_mapCtrl->PixelToMapX(m_mapCtrl->MapToPixelX(longtitudeX) + 10) ); 
 objTextPart.Sety( m_mapCtrl->PixelToMapY(m_mapCtrl->MapToPixelY(latitudeY) + 10) );
 

 objTextPart.SetText( gpsid );
 objText.AddPart( objTextPart );
 CsoTextStyle objTextStyle;
 objTextStyle.CreateDispatch(L"SuperMap.soTextStyle");
 objTextStyle.SetColor(RGB(44,44,250));
 
 objTextStyle.SetFixedTextSize(35); 
 
 objTextStyle.SetFontHeight(50.00);
 objTextStyle.SetFixedSize(TRUE);
 objTextStyle.SetBold(TRUE);
 objText.SetTextStyle((IsoTextStyle*)objTextStyle.m_lpDispatch);

 m_trackingLayer.RemoveEvent(COleVariant(gpsid + L"gps"));
 m_trackingLayer.RemoveEvent(COleVariant(gpsid));
 if ( m_trackingLayer.AddEvent(objGeoPoint,objSty,gpsid + L"gps")
   && m_trackingLayer.AddEvent(objText,objSty,gpsid))
 {
  m_trackingLayer.RefreshEx();
 } 
 
 objSty.ReleaseDispatch();
 objGeoPoint.ReleaseDispatch();
 return true;
}

原创粉丝点击