我使用的是 .net 2005 mapx 5
增加图元的代码怎么也调试不通过!
哪位贴个例子看看!

解决方案 »

  1.   

    这里基本上没有做gis的,所以不一定有人用过mapx。
      

  2.   

    基本类型不用看,看看方法就行了,马上开会就不整理了,抱歉
            #region "创建车辆地图对象"
            private delegate void _CreateVehicleFeatrue(MotorData motordata);
            private void CreateVehicleFeatrue(MotorData motordata)
            {
                if (_map.InvokeRequired)
                {
                    BeginInvoke(new _CreateVehicleFeatrue(CreateVehicleFeatrue), new object[] { motordata });
                    return;
                }
                try
                {
                    MapXLib.Feature fea = new MapXLib.Feature();
                    fea.Attach(_map.GetOcx());
                    fea.Style = new MapXLib.Style();
                    fea.Type = MapXLib.FeatureTypeConstants.miFeatureTypeSymbol;
                    fea.KeyValue = motordata.MotorID; 
                    fea.Style.SymbolFontRotation = (short)motordata.Gps.Direction;
                    fea.Style.SymbolType = MapXLib.SymbolTypeConstants.miSymbolTypeTrueTypeFont;
                    if (motordata.Gps.Speed > 5)
                    {
                       fea.Style.SymbolFont.Name = appset.Vehicle_MoveFont;
                       fea.Style.SymbolCharacter = appset.Vehicle_MoveChar;
                       fea.Style.SymbolFont.Size = appset.Vehicle_MoveSize;
                       fea.Style.SymbolFontColor = appset.Vehicle_MoveColor;
                    }
                    else
                    {
                       fea.Style.SymbolFont.Name = appset.Vehicle_StopFont;
                       fea.Style.SymbolCharacter = appset.Vehicle_StopChar;
                       fea.Style.SymbolFont.Size = appset.Vehicle_StopSize;
                       fea.Style.SymbolFontColor = appset.Vehicle_StopColor;
                    }
                    fea.Style.SymbolFontOpaque = false;                 //fea.Style.SymbolFontColor = (uint)MapXLib.ColorConstants.miColorYellow;                if (GpsPosition.IsValid(motordata.Gps.Longitude, motordata.Gps.Latitude))
                    {
                        fea.Point.Set(motordata.Gps.Longitude, motordata.Gps.Latitude);
                    }
                    else
                    {
                        fea.Point.Set(_map.CenterX, _map.CenterY);
                    }
                    fea = _map.Layers._Item("Vehicle").AddFeature(fea, Type.Missing);
                    fea.Update(fea, Type.Missing);
                    
                    motordata.AdditionalAttribute.Add(appset.MapFeatrueKey, fea);
                    motordata.MotorDataChanged += new MotorData.OnMotorDataChanged(UpdateVehicleFeature);
                    motordata.BackgroundValueChanged += new MotorData.OnBackgroundValueChanged(motordata_BackgroundValueChanged);
                    _VehicleFeatures.Add(fea.KeyValue, motordata);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }