📄 创建小车图层并标注.txt
字号:
Dim tblInfoTemp As TableInfoMemTable = New MapInfo.Data.TableInfoMemTable("Animation")
Dim tblTemp As Table = MapInfo.Engine.Session.Current.Catalog.GetTable("Animation")
Dim myMap As Map = MapInfo.Engine.Session.Current.MapFactory(MapControl1.MapAlias)
Dim x As Double = 114.07
Dim y As Double = 22.51
If Not (tblTemp Is Nothing) Then
MapInfo.Engine.Session.Current.Catalog.CloseTable("Animation")
End If
tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateFeatureGeometryColumn(myMap.GetDisplayCoordSys()))
tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateStyleColumn())
tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("显示", 64))
tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("编号", 8))
tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("设备编号", 8))
tblTemp = MapInfo.Engine.Session.Current.Catalog.CreateTable(tblInfoTemp)
Dim lyr As FeatureLayer = New FeatureLayer(tblTemp)
myMap.Layers.Add(lyr)
'以上为创建临时表
Dim _fontSymbol As New MapInfo.Styles.FontPointStyle
_fontSymbol.Code = 93
_fontSymbol.PointSize = 24
_fontSymbol.Color = System.Drawing.Color.Purple
'_fontSymbol.Font.Name = "MapInfo Transportation"
_fontSymbol.Font.Name = "Uniwill"
_fontSymbol.Font.FontWeight = MapInfo.Styles.FontWeight.Bold
_fontSymbol.Angle = -450
Dim _fontSymbol2 As New MapInfo.Styles.FontPointStyle
_fontSymbol2.Code = 94
_fontSymbol2.PointSize = 24
_fontSymbol2.Color = System.Drawing.Color.Purple
_fontSymbol2.Font.Name = "Uniwill"
_fontSymbol2.Font.FontWeight = MapInfo.Styles.FontWeight.Bold
_fontSymbol2.Angle = 900
'以上为创建点样式
Dim pt3 As FeatureGeometry = New MapInfo.Geometry.Point(lyr.CoordSys, New DPoint(x, y))
Dim cs3 As New MapInfo.Styles.CompositeStyle(New MapInfo.Styles.SimpleVectorPointStyle(20, System.Drawing.Color.Blue, 10))
Dim ftr3 As New Feature(tblTemp.TableInfo.Columns)
ftr3.Geometry = pt3
cs3.SymbolStyle = _fontSymbol
ftr3.Style = cs3
ftr3("编号") = "港HK4889"
ftr3("设备编号") = "13265438188"
ftr3("显示") = ftr3("编号") & vbCrLf & ftr3("设备编号")
Dim pt2 As New MapInfo.Geometry.Point(lyr.CoordSys, New DPoint(x + 0.02, y + 0.02))
Dim cs2 As New MapInfo.Styles.CompositeStyle(New MapInfo.Styles.SimpleVectorPointStyle(20, Color.Blue, 10)) '20 10
Dim ftr2 As New MapInfo.Data.Feature(tblTemp.TableInfo.Columns)
ftr2.Geometry = pt2
cs2.SymbolStyle = _fontSymbol2
ftr2.Style = cs2
ftr2("编号") = "港HK3297"
ftr2("设备编号") = "13859607689"
ftr2("显示") = ftr3("编号") & vbCrLf & ftr3("设备编号")
'以上为创建点
'显示点
tblTemp.InsertFeature(ftr3)
tblTemp.InsertFeature(ftr2)
Dim _textSymbol = New MapInfo.Styles.TextStyle
_textSymbol.Font.ForeColor = Color.Red
_textSymbol.Font.Size = 8
Dim txtlayer As New MapInfo.Mapping.LabelLayer
myMap.Layers.Add(txtlayer)
Dim source As New MapInfo.Mapping.LabelSource(MapInfo.Engine.Session.Current.Catalog.GetTable("Animation"))
'source.DefaultLabelProperties.Layout.Angle = 90
source.DefaultLabelProperties.Caption = "Name"
source.DefaultLabelProperties.Style = _textSymbol
source.DefaultLabelProperties.Layout.Offset = 8
source.DefaultLabelProperties.Layout.Alignment = Text.Alignment.TopCenter
txtlayer.Sources.Append(source)
myMap.Center = New DPoint(x, y)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -