在项目中地图操作的功能都是我同事作的,也不知道不没有人发过,今天我发上来,大家要是用到的话就参考一下吧,写的不好欢迎拍砖^_^
- class VehiclePosition
- {
- #region 全局变量
- /// <summary>
- /// 车辆的样式
- /// </summary>
- private Style VehicleStyle = new Style();
- #endregion
- #region 在图层上绘制车辆
- /// <summary>
- /// 在地图上绘制车辆
- /// </summary>
- /// <param name="Mainmap">要显示车辆的地图</param>
- /// <param name="Lyr">要显示车辆的图层</param>
- /// <param name="X">车辆的经度位置</param>
- /// <param name="Y">车辆的纬度位置</param>
- /// <param name="VehicleName">车辆的名称</param>
- /// <param name="SymbolFontRotation">车辆的方向</param>
- public void drawVehicle(AxMap Mainmap, Layer Lyr, double X, double Y, string VehicleName, short SymbolFontRotation)
- {
- try
- {
- Point point = new PointClass();
- point.Set(X, Y);
- Feature sourceFeature = new FeatureClass();
- Feature feature2 = new FeatureClass();
- RowValues rowValues = new RowValuesClass();
- Fields fields = new FieldsClass();
- FeatureFactory featureFactory = Mainmap.FeatureFactory;
- fields.Add("name", "name", AggregationFunctionConstants.miAggregationSum, FieldTypeConstants.miTypeString);
- rowValues = Mainmap.DataSets.Add(DatasetTypeConstants.miDataSetLayer, Lyr, Lyr.Name, 0, 0, 0, fields, false).get_RowValues(0);
- rowValues._Item("name").Value = VehicleName;
- sourceFeature.Attach(Mainmap.GetOcx());
- feature2.Attach(Mainmap.GetOcx());
- this.VehicleStyle.SymbolFontRotation = SymbolFontRotation;
- sourceFeature = featureFactory.CreateSymbol(point, this.VehicleStyle);
- feature2 = Lyr.AddFeature(feature2, rowValues);
- sourceFeature = Lyr.AddFeature(sourceFeature, rowValues);
- Lyr.LabelAtPoint(X, Y);
- Lyr.LabelProperties.Style.TextFontColor = 0xff;
- //Lyr.LabelProperties.Style.TextFont.Bold = true;
- Lyr.LabelProperties.Style.TextFontHalo = true;
- sourceFeature.KeyValue = VehicleName;
- sourceFeature.Update(sourceFeature, rowValues);
- feature2.Update(feature2, rowValues);
- Mainmap.DataSets.RemoveAll();
- }
- catch
- { }
- }
- /// <summary>
- /// 加载车辆图元的属性
- /// </summary>
- /// <param name="SymbolFontName">车辆的样式集</param>
- /// <param name="SymbolCharacterNumber">车辆的样式</param>
- /// <param name="uintSymbolFontColor">车辆的颜色</param>
- /// <param name="SymbolFontSize">车辆的大小</param>
- public void loadFeatureVehicleProperty(string SymbolFontName, short SymbolCharacterNumber, uint uintSymbolFontColor, int SymbolFontSize)
- {
- try
- {
- this.VehicleStyle.SymbolFont.Name = SymbolFontName;
- this.VehicleStyle.SymbolType = SymbolTypeConstants.miSymbolTypeTrueTypeFont;
- this.VehicleStyle.SymbolFontColor = uintSymbolFontColor;
- this