C# 调用C++dll 回调经纬度结构体 数据错乱

我的结构体代码C#:

/// <summary>
    /// 定位数据
    /// </summary>
    [StructLayoutAttribute(LayoutKind.Sequential)]
    public struct TRstLocationData
    {
        /// <summary>
        /// 纬度
        /// WGS84坐标系,取值范围[-90,90],北纬为正,南纬为负
        /// </summary>
        public Double dbLatitude;
        /// <summary>
        /// 经度
        /// WGS84坐标系,取值是[-180,180),东经为正,西经为负
        /// </summary>
        public Double dbLongitude;
        /// <summary>
        /// 方向
        /// [0,360),正北为0,正东为90,依次类推
        /// </summary>
        public Single fBearing;
        /// <summary>
        /// 速度,单位km/h
        /// </summary>
        public Single fSpeed;
        /// <summary>
        /// 海拔,单位m,小于等于-50000表示无效	
        /// </summary>
        public Single fAltitude;
        /// <summary>
        /// UTC时间,单位秒
        /// </summary>
        public UInt32 uiUTCTime;
        /// <summary>
        /// 定位系统
        /// </summary>
        public IRstLocationSystem locSystemType;
    }

SDK的结构体代码:

// 定位数据
typedef struct _TRstLocationData
{
	double					dbLatitude;			///< 纬度,WGS84坐标系,取值范围[-90,90],北纬为正,南纬为负
	double					dbLongitude;		///< 经度,WGS84坐标系,取值是[-180,180),东经为正,西经为负
	float					fBearing;			///< 方向,[0,360),正北为0,正东为90,依次类推
	float					fSpeed;				///< 速度,单位km/h
	float					fAltitude;			///< 海拔,单位m,小于等于-50000表示无效			
	unsigned int			uiUTCTime;			///< UTC时间,单位秒
	IRstLocationSystem		locSystemType;		///< 定位系统
}TRstLocationData;

 

查看全部
weixin_43484402
樱折也
2020/12/04 15:52
  • c#
  • 点赞
  • 收藏
  • 回答
    私信

0个回复