• MO sample中的缓冲冲区的例子很简单的一个例子


    Option Explicit

    Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

    'Point buffering

    If Option1.Value Then

    Dim pt As New MapObjects2.Point

    Dim eventPt As New MapObjects2.GeoEvent

    Dim buffPt As New MapObjects2.Polygon

    Dim buffEventPt As New MapObjects2.GeoEvent

    Set pt = Map1.ToMapPoint(x, y)

    Set eventPt = Map1.TrackingLayer.AddEvent(pt, 0)

    Set buffPt = pt.Buffer(Text1.Text, Map1.FullExtent)

    Set buffEventPt = Map1.TrackingLayer.AddEvent(buffPt, 3)

    'Line buffering

    ElseIf Option2.Value Then

    Dim line As New MapObjects2.line

    Dim eventLine As New MapObjects2.GeoEvent

    Dim buffLine As New MapObjects2.Polygon

    Dim buffEventLine As New MapObjects2.GeoEvent

    Set line = Map1.TrackLine

    Set eventLine = Map1.TrackingLayer.AddEvent(line, 1)

    Set buffLine = line.Buffer(Text1.Text, Map1.FullExtent)

    Set buffEventLine = Map1.TrackingLayer.AddEvent(buffLine, 3)

    'Rectangle buffering

    ElseIf Option3.Value Then

    Dim rect As New MapObjects2.Rectangle

    Dim eventRect As New MapObjects2.GeoEvent

    Dim buffRect As New MapObjects2.Polygon

    Dim buffEventRect As New MapObjects2.GeoEvent

    Set rect = Map1.TrackRectangle

    Set eventRect = Map1.TrackingLayer.AddEvent(rect, 2)

    Set buffRect = rect.Buffer(Text1.Text, Map1.FullExtent)

    Set buffEventRect = Map1.TrackingLayer.AddEvent(buffRect, 3)

    'Polygon buffering

    ElseIf Option4.Value Then

    Dim poly As New MapObjects2.Polygon

    Dim eventPoly As New MapObjects2.GeoEvent

    Dim buffPoly As New MapObjects2.Polygon

    Dim buffEventPoly As New MapObjects2.GeoEvent

    Set poly = Map1.TrackPolygon

    Set eventPoly = Map1.TrackingLayer.AddEvent(poly, 2)

    Set buffPoly = poly.Buffer(Text1.Text, Map1.FullExtent)

    Set buffEventPoly = Map1.TrackingLayer.AddEvent(buffPoly, 3)

    'Ellipse buffering

    ElseIf Option5.Value Then

    Dim arect As New MapObjects2.Rectangle

    Dim elli As New MapObjects2.Ellipse

    Dim eventElli As New MapObjects2.GeoEvent

    Dim buffElli As New MapObjects2.Polygon

    Dim buffEventElli As New MapObjects2.GeoEvent

    Set arect = Map1.TrackRectangle

    elli.Top = arect.Top

    elli.Bottom = arect.Bottom

    elli.Left = arect.Left

    elli.Right = arect.Right

    Set eventElli = Map1.TrackingLayer.AddEvent(elli, 2)

    Set buffElli = elli.Buffer(Text1.Text, Map1.FullExtent)

    Set buffEventElli = Map1.TrackingLayer.AddEvent(buffElli, 3)

    End If

    End Sub

    Private Sub Form_Load()

    Option1.Caption = "Point"

    Option2.Caption = "Line"

    Option3.Caption = "Rectangle"

    Option4.Caption = "Polygon"

    Option5.Caption = "Ellipse"

    Text1.Text = "100"

    Map1.TrackingLayer.SymbolCount = 4

    With Map1.TrackingLayer.Symbol(0)

    .SymbolType = moPointSymbol

    .Style = moTriangleMarker

    .Color = moRed

    .Size = 3

    End With

    With Map1.TrackingLayer.Symbol(1)

    .SymbolType = moLineSymbol

    .Color = moRed

    .Size = 3

    End With

    With Map1.TrackingLayer.Symbol(2)

    .SymbolType = moFillSymbol

    .Style = moGrayFill

    .Color = moRed

    .OutlineColor = moRed

    End With

    With Map1.TrackingLayer.Symbol(3)

    .SymbolType = moFillSymbol

    .Style = moGrayFill

    .Color = moBlue

    .OutlineColor = moBlue

    End With

    End Sub

    运行结果

    用mo真是累.写个毕业设计真是麻烦.

    转载请注明出处,有技术问题,欢迎互相交流,或者留言.
  • 相关阅读:
    ManyToMany【项目随笔】关于异常object references an unsaved transient instance
    Hibernate映射之OneToOne(第二篇)
    杨辉三角概念及程序实现
    【C语言编程基础】二维数组
    【C++编程基础】——C++生成随机数
    【C++编程基础】——C++指针小结
    【Java编程基础】——Java中Static关键字的使用
    【Java编程基础】Java中this关键字的使用
    【C语言编程基础】递归算法小结
    排序算法之——冒泡排序
  • 原文地址:https://www.cnblogs.com/sunliming/p/1721843.html
Copyright © 2020-2023  润新知