|
joyjoyjoy
已经得到汽车所在经纬度,想在窗口的地图上面画出对应点.
自己猜想以下步骤:
1.找到指定点,并根据默认放大尺寸,在窗口中显示以指定点为中心显示地图.
2.新建一layer,把汽车所在经纬度换算成windows坐标,并画出汽车图标.
以上步骤对吗?并求对应mapxtreme+c# or mapx代码!
急急急!
sss7 :
呵呵。老兄也是新手啊!写的我的代码给你看看。 Dim X1 As Double Dim Y1 As Double Dim fNewSymbol As MapXLib.Feature Dim fNewSymbol1 As MapXLib.Feature Dim fMapSymbol As MapXLib.Feature Dim pt As New Point X1 = longitude Y1 = latitude pt.Set X1, Y1 With Map1.DefaultStyle .SymbolFont = "custom symbols" .SymbolType = 1 .SymbolBitmapName = "TAXI1-32.bmp" .SymbolBitmapSize = 24 .SymbolBitmapTransparent = True End With If flag = 0 Then Set fNewSymbol = Map1.FeatureFactory.CreateSymbol(pt, Map1.DefaultStyle) Set fMapSymbol = lyrMyLayer.AddFeature(fNewSymbol) a = fMapSymbol.FeatureKey flag = 1 Else lyrMyLayer.DeleteFeature a Set fNewSymbol = Map1.FeatureFactory.CreateSymbol(pt, Map1.DefaultStyle) Set fMapSymbol = lyrMyLayer.AddFeature(fNewSymbol) a = fMapSymbol.FeatureKey End If 后面的这一段代码是用来刷新地图的。即获从数据库中得了新的GPS定位信号以后重新画车辆位置的。我也是新手。大家相互学习哈。
joyjoyjoy :
非常感谢sss7呀. 是否直接把经纬度(-135.23,168.23)赋予point.x, point.y 即可在地图上面划出对应点? 我是用c#的, double x=-135.23; double y=-168.23; system.drawing.point point = new point(); point.x = x; point.y = y; double 赋值给point好象不行哟. 我用的是mapxtreme,featurefactory等属性都没有,真郁闷.
joyjoyjoy:
Map.DisplayTransform.ToDisplay(dPoint, out point); 搞定.
|