当前位置:文档之家› MapABC 地图应用软件开发包 C#用户手册企业版

MapABC 地图应用软件开发包 C#用户手册企业版

版本: 1.0

北京图盟科技有限公司2010 保留版权

说明

本文档是C#地图应用软件开发包的用户使用手册,具体来讲,是MapABC 向广大公众用户提供的调用接口方法的操作指南。文档说明的MapCtrl是SDK 的核心部分,它封装了地图C#组件,从用户控件的形式提供给用户,通过创建该控件并使用该控件的方法,可以实现地图的一些基本操作,和查询,测距等功能。MMarkerOptions、MGeometryOptions等结构体是针对不同组件对象构建的参数选项对象,通过设置参数选项对象的属性值完成针对不同对象参数的设置。

目录

1.MapCtrl (11)

1.1.说明 (11)

1.2.构造方法 (11)

1.2.1.MapCtrl(key) (11)

1.3.方法 (11)

地图状态 (11)

1.3.1.GetMapCenter(void) (11)

1.3.2.GetZoomLevel(void) (12)

1.3.3.GetMapSize(void) (12)

1.3.4.GetScale(void) (13)

修改地图状态 (13)

1.3.5.SetMapCenter(CenterLonLat) (13)

1.3.6.SetMapSize(size) (14)

1.3.7.SetCurrentMouseTool(cCtrlName) (14)

1.3.8.SetColorOfHandGeometry(ulColor, ucAlpha) (15)

1.3.9.SetBorderColorOfHandGeometry(ulColor) (15)

1.3.10.SetBorderWidthOfHandGeometry(lBorderWidth) (16)

1.3.11.ZoomIn(void) (16)

1.3.12.ZoomOut(void) (17)

1.3.13.AddMarker(ref MarkerOption) (17)

1.3.14.RemoveMarker(cID) (19)

1.3.15.RemoveAllMarkers(void) (19)

1.3.16.GetMarkerOptions(cID) (19)

1.3.17.UpdateMarker(ref markeroptions) (20)

1.3.18.SetMarkerVisibleById(cID, isVisible) (20)

1.3.19.AddGeometry(ref GeometryOption) (21)

1.3.20.RemoveGeometry(cID) (22)

1.3.21.RemoveAllGeometries(void) (22)

1.3.22.GetGeometryOptions(cID) (23)

1.3.23.UpdateGeometry(GeometryOptions) (23)

1.3.24.SetGeometryVisibleById(cID, isVisible) (24)

地图工具 (24)

1.3.25.CalculateDistance(Start, End) (24)

1.3.26.FromLonLatToPixel(LonLat) (25)

1.3.27.FromPixelToLonLat(Pixel) (26)

地图查询 (27)

1.3.28.HttpPoiSearchByKeywords(cKeywords, cCity, Options) (27)

1.3.29.HttpPoiSearchByCenPoi(centerPoiXY, cKeywords, cCity, Options) (27)

1.3.30.HttpPoiSearchByCenKeywords(cCenterKeywords,cKeywords,cCity, Options)

28

1.3.31.HttpRouteSearchByTwoPoi(startPoiXY, endPoiXY, Options) (29)

1.3.32.HttpCalculaNaviDistance(cXs, cYs, Options) (30)

1.3.33.HttpBusSearchByTwoPoi(startPoiXY, endPoiXY, cCity, Options) (31)

1.3.34.HttpBusSearchByBusId(cBusId, cCity, Options) (32)

1.3.35.HttpBusSearchByBusName(cBusName, cCity, Options) (33)

1.3.36.HttpBusSearchByBusStation(cStationName, cCity, Options) (33)

1.3.37.HttpGPSToOffset(poiXY, offsetPoiXY, Options) (34)

1.3.38.HttpPoiToAddress(poiXY, Options) (35)

1.3.39.HttpAddressPoi(cAddress) (36)

2.MMarkerOptions (36)

2.1.说明 (36)

2.2.属性 (36)

2.2.1.cID (36)

2.2.2.LonLat (37)

2.2.3.lWidth (37)

2.2.4.lHigh (37)

2.2.5.bIsImagePos (37)

2.2.6.ImagePos (37)

2.2.7.lImageAlign (38)

2.2.8.cImagePath (38)

https://www.doczj.com/doc/4a3123160.html,belOption (38)

https://www.doczj.com/doc/4a3123160.html,belPosition (38)

2.2.11.bIsLabelPos (38)

https://www.doczj.com/doc/4a3123160.html,belPos (39)

2.2.13.lLabelAlign (39)

2.2.14.pOnClickFunc (39)

2.2.15.pOnFunc (39)

2.2.16.pLeaveFunc (40)

2.3.说明 (40)

2.4.属性 (40)

2.4.1.FontStyle (40)

2.4.2.cImagePath (40)

3.MLableOptions (40)

3.1.说明 (40)

3.2.属性 (41)

3.2.1.FontStyle (41)

3.2.2.cText (41)

3.2.3.bIsDisplay (41)

3.2.4.pOnClickFunc (41)

3.2.5.pOnFunc (41)

3.2.6.pLeaveFunc (42)

4.MFontStyle (42)

4.1.说明 (42)

4.2.属性 (42)

https://www.doczj.com/doc/4a3123160.html,ame (42)

4.2.2.lfWidth (42)

4.2.3.lfHeight (43)

4.2.4.ulColor (43)

4.2.5.bBold (43)

4.2.6.bShadow (43)

4.2.7.bIsBackGround (43)

4.2.8.ulBkColor (44)

5.MGeometryOptions (44)

5.1.说明 (44)

5.2.属性 (44)

5.2.1.cID (44)

5.2.2.cType (44)

5.2.3.ulColor (44)

5.2.4.ulBorderColor (45)

5.2.5.ucAlpha (45)

5.2.6.lBorderWidth (45)

5.2.7.lLineWidth (45)

5.2.8.Start (46)

5.2.9.End (46)

5.2.10.lXRadius (46)

5.2.11.lYRadius (46)

5.2.12.PointsfX (46)

5.2.13.PointsfY (47)

5.2.14.lNubOfPoints (47)

6.MPixel (47)

6.1.说明 (47)

6.2.属性 (47)

6.2.1.fX (47)

6.2.2.fY (47)

7.MSize (48)

7.1.说明 (48)

7.2.属性 (48)

7.2.1.lWidth (48)

7.2.2.lHeight (48)

8.MPOISearchOptions (48)

8.1.说明 (48)

8.2.属性 (49)

8.2.1.lRecordsPerPage (49)

8.2.2.lPageNum (49)

8.2.3.lRange (49)

8.2.4.cSearchType (49)

8.2.5.cSrcType (49)

9.MPOI (50)

9.1.说明 (50)

9.2.属性 (50)

9.2.1.cAddress (50)

https://www.doczj.com/doc/4a3123160.html,ame (50)

9.2.3.cType (50)

9.2.4.cUrl (51)

https://www.doczj.com/doc/4a3123160.html,ityCode (51)

9.2.6.dX (51)

9.2.7.dY (51)

9.2.8.lDistance (51)

9.2.9.cPguid (52)

9.2.10.cTel (52)

9.2.11.cImageid (52)

9.2.12.lNumOfPlatForm (52)

9.2.13.pPlatForms (53)

10.MPlatForm (53)

10.1.说明 (53)

10.2.属性 (53)

10.2.1.Coor (53)

11.MPOISearchResult (53)

11.1.说明 (53)

11.2.属性 (54)

11.2.1.lCountNum (54)

11.2.2.lTotalNum (54)

11.2.3.lNum (54)

11.2.4.pPois (54)

12.MRegion (55)

12.1.说明 (55)

12.2.属性 (55)

12.2.1.LonlatList (55)

13.MAutoNaviSearchOptions (55)

13.1.说明 (55)

13.2.属性 (55)

13.2.1.lPer (55)

13.2.2.lRouteType (56)

13.2.3.lSegmentCoorType (56)

13.2.4.Regionlist (56)

https://www.doczj.com/doc/4a3123160.html,ame (56)

https://www.doczj.com/doc/4a3123160.html,voidanceType (57)

13.2.7.pPassByfX (57)

13.2.8.pPassByfX (57)

13.2.9.lNumOfPoints (57)

14.MAutoSegment (58)

14.1.说明 (58)

14.2.属性 (58)

14.2.1.lRoadLength (58)

14.2.2.cForm (58)

14.2.3.cGrade (58)

14.2.4.cDirection (58)

14.2.5.cRoadName (59)

14.2.6.cDriveTime (59)

14.2.7.cAction (59)

14.2.8.cAccessorialInfo (59)

14.2.9.cTextInfo (59)

14.2.10.Coor (60)

15.MAutoNaviSearchResult (60)

15.1.说明 (60)

15.2.属性 (60)

15.2.1.lTotalNum (60)

15.2.2.pSegments (60)

15.2.3.pBound (61)

15.2.4.pCoors (61)

16.MAutoDisSearchOptons (61)

16.1.说明 (61)

16.2.属性 (61)

16.2.1.lRouteType (61)

17.MAutoRoute (62)

17.1.说明 (62)

17.2.属性 (62)

17.2.1.lRoadLength (62)

18.MAutoDisSearchResult (62)

18.1.说明 (62)

18.2.属性 (62)

18.2.1.pRoutes (62)

19.MBusNaviSearchOptions (63)

19.1.说明 (63)

19.2.属性 (63)

19.2.1.lPer (63)

19.2.2.lRouteType (63)

20.MBusDepotName (63)

20.1.说明 (63)

20.2.属性 (64)

https://www.doczj.com/doc/4a3123160.html,ame (64)

21.MBusSegment (64)

21.1.说明 (64)

21.2.属性 (64)

21.2.1.cStartName (64)

21.2.3.cBusName (65)

21.2.4.PassDepotNamesList (65)

21.2.5.lDriverLength (65)

21.2.6.lFootLength (65)

21.2.7.lPassDepotCount (65)

21.2.8.CoordinateList (66)

21.2.9.PassDepotNameCoor (66)

22.MBusProject (66)

22.1.说明 (66)

22.2.属性 (66)

22.2.1.Expense (66)

22.2.2.lSegmentCount (66)

22.2.3.SegmentList (67)

22.2.4.lFootEndLength (67)

22.2.5.Bound (67)

23.MBusNaviSearchResult (67)

23.1.说明 (67)

23.2.属性 (68)

23.2.1.lTotalNum (68)

23.2.2.BussProjectList (68)

24.MBusInfoSearchOptions (68)

24.1.说明 (68)

24.2.属性 (68)

24.2.1.lRecordsPerPage (68)

24.2.2.lPageNum (69)

24.2.3.lResData (69)

25.MStation (69)

25.1.说明 (69)

25.2.属性 (69)

https://www.doczj.com/doc/4a3123160.html,ame (69)

25.2.2.Coor (69)

25.2.3.cSpell (70)

https://www.doczj.com/doc/4a3123160.html,ode (70)

25.2.5.lStationNum (70)

26.MBusInfo (70)

26.1.说明 (70)

26.2.属性 (71)

26.2.1.fLength (71)

https://www.doczj.com/doc/4a3123160.html,ame (71)

26.2.3.cLine_id (71)

26.2.4.cStartName (71)

26.2.5.cEndName (71)

26.2.6.cStartTime (72)

https://www.doczj.com/doc/4a3123160.html,ompany (72)

26.2.9.fBasicPrice (72)

26.2.10.fTotakPrice (72)

26.2.11.bIcCard (73)

26.2.12.lNumOfStation (73)

26.2.13.StationList (73)

26.2.14.CoordinateList (73)

27.MBusInfoSearchResult (74)

27.1.说明 (74)

27.2.属性 (74)

27.2.1.lTotalNum (74)

27.2.2.lNum (74)

27.2.3.BusInfoList (74)

28.MCoordinatSearchResult (75)

28.1.说明 (75)

28.2.属性 (75)

28.2.1.Coor (75)

29.MReGeocodeSearchOptions (75)

29.1.说明 (75)

29.2.属性 (75)

29.2.1.lPoiNumber (75)

29.2.2.lRange (75)

29.2.3.lPattern (76)

29.2.4.lRoadLevel (76)

29.2.5.cExkey (77)

30.MProvince (77)

30.1.说明 (77)

30.2.属性 (77)

https://www.doczj.com/doc/4a3123160.html,ame (77)

30.2.2.lCode (77)

31.MCITY (78)

31.1.说明 (78)

31.2.属性 (78)

https://www.doczj.com/doc/4a3123160.html,ame (78)

31.2.2.lCode (78)

31.2.3.cTelnum (78)

32.MDistrinct (79)

32.1.说明 (79)

32.2.属性 (79)

https://www.doczj.com/doc/4a3123160.html,ame (79)

32.2.2.lCode (79)

33.MRoundRoad (79)

33.1.说明 (79)

33.2.属性 (79)

33.2.1.lId (79)

https://www.doczj.com/doc/4a3123160.html,ame (80)

33.2.3.cDirection (80)

33.2.4.fDistance (80)

33.2.5.lWidth (80)

34.MRoundPOI (81)

34.1.说明 (81)

34.2.属性 (81)

34.2.1.cType (81)

34.2.2.cPguid (81)

https://www.doczj.com/doc/4a3123160.html,ame (81)

34.2.4.cAddress (81)

34.2.5.cTel (82)

34.2.6.cDirection (82)

34.2.7.fDistance (82)

34.2.8.Coor (82)

35.MCrossPOI (83)

35.1.说明 (83)

35.2.属性 (83)

https://www.doczj.com/doc/4a3123160.html,ame (83)

35.2.2.Coor (83)

36.MReGeoCodeSearchResult (83)

36.1.说明 (83)

36.2.属性 (83)

36.2.1.Province (83)

36.2.2.City (84)

36.2.3.District (84)

36.2.4.lNumOfRoundRoad (84)

36.2.5.pRoundRoads (84)

36.2.6.lNumOfRoundPoi (85)

36.2.7.pRoundPois (85)

36.2.8.lNumOfCrossPoi (85)

36.2.9.pCrossPois (85)

1.MapCtrl

1.1.说明

MapCtrl封装C#地图组件,对地图的操作都是通过它完成的。用户在应用程序中添加MapCtrl控件,并调用相应方法就可以在应用程序中显示地图,实现基本的地图功能。

1.2.构造方法

1.2.1.MapCtrl(key)

说明:

初始化MapCtrl控件的一个新实例。

参数:

key:

说明:用户鉴权。

类型:string

示例:

使用地图控件前,用户应将“base.dll”、“vme.bridge.dll”、“vme.ppc.dll”拷贝到应用程序的执行目录下,再将地图控件“vme.ppc.dll”添加到应用程序的引用中。最后参照以下代码将用户key添加到创建地图控件代码后,用户既可使用地图控件。

this.mapCtrl1=new mapabc.MapCtrl("ad67295e6e4e6e8223de82b6ab79e355dcf272722bf44bc33a 0c40de1ee05ac4f2ff5028896a1593");

1.3.方法

地图状态

1.3.1.GetMapCenter(void)

说明:

返回MLonLat结构体对象,该对象代表当前地图中心点的位置。

参数:

返回值:

LonLat:

说明:地图中心点经纬度对象。

类型:MLonLat

示例:

MLonLat LonLat = new MLonLat();

LonLat =mapCtrl1.GetMapCenter();

1.3.

2.GetZoomLevel(void)

说明:

返回当前地图的zoom级别。

参数:

返回值:

nZoomLevel:

说明:地图zoom级别,范围为从0到17,数值越大,地图内容越详细。

类型:Int32

示例:

Int32 nZoomLevel = new Int32();

nZoomLevel = mapCtrl1.GetZoomLevel();

1.3.3.GetMapSize(void)

说明:

返回MSize结构体对象,该对象表示地图视窗大小的像素值。

参数:

返回值:

Size:

说明:返回地图视窗的像素大小。

类型:MSize

示例:

Msize MapSize = new Msize();

MapSize = mapCtrl1.GetMapSize();

1.3.4.GetScale(void)

说明:

返回当前地图中心点的比例尺,即一个像素代表的距离,单位为米。参数:

返回值:

fScale:

说明:当前地图中心点的一个像素代表的距离,单位为米。

类型:Single

示例:

Single fScale = new Single();

fScale = mapCtrl1.GetScale();

修改地图状态

1.3.5.SetMapCenter(CenterLonLat)

说明:

设置地图中心点的经纬度坐标。

参数:

CenterLonLat:

说明:地图中心点的经纬度坐标。

类型:MLonLat

返回值:

示例:

MLonLat CenterLonLat = new MLonLat();

CenterLonLat.fLon = (float)116.39716;

CenterLonLat.fLat = (float)39.91669;

mapCtrl1.SetMapCenter(CenterLonLat);

1.3.6.SetMapSize(size)

说明:

设置地图视窗的大小(新设置的地图大小只能小于或等于初始化时的地图大小)。参数:

size:

说明:存诸地图视窗宽高的像素值。

类型:MSize

返回值:

示例:

MSize size = new MSize();

size.lX = 800;

size.lY = 600;

mapCtrl1.SetMapSize(size);

1.3.7.S etCurrentMouseTool(cCtrlName)

说明:

设置鼠标当前功能。

参数:

cCtrlName:

说明:控件代号。0移动地图,1移动矢量图形,2画圆,3画矩形,

4画直线,5画多形,

6画曲线,7删除矢量图形,

8编辑矢量图形。

类型:sbyte

返回值:

示例:

mapCtrl1.SetCurrentMouseTool(MOUSE_DRAW_CIRCLE);

1.3.8.SetColorOfHandGeometry(ulColor, ucAlpha)

说明:

设置手绘矢量图形的颜色和矩形的透明度。

参数:

ulColor:

说明:颜色值。

类型:UInt32

ucAlpha:

说明:矢量图形透明度(针对矩形),取值范围是0-255,数值越大透明度越低,“0”为完全透明,“255”为不透明, 默认为不透明。

类型:Byte

返回值:

示例:

UInt32 ulColor = new UInt32();

ulColor = MMap.rgb(0, 255, 0); // 绿

mapCtrl1.SetColorOfHandGeometry(ulColor, 128);//设置手绘矢量图形为绿色,如果是矩形则为半透明。

1.3.9.SetBorderColorOfHandGeometry(ulColor)

说明:

设置手绘矢量图形的边框颜色。

参数:

ulColor

说明:颜色值。

类型:UInt32

返回值:

示例:

UInt32 ulColor = new UInt32();

ulColor = MMap.rgb(255, 0, 0); // 红色

mapCtrl1.SetBorderColorOfHandGeometry(ulColor);

1.3.10.SetBorderWidthOfHandGeometry(lBorderWidth)说明:

设置手绘矢量图形的边框宽度。

参数:

lBorderWidth

说明:宽度值(像素)。

类型:Int32

返回值:

示例:

mapCtrl1.SetBorderWidthOfHandGeometry(8);

1.3.11.ZoomIn(void)

说明:

放大地图的一个级别。

参数:

返回值:

示例:

mapCtrl1.ZoomIn();

1.3.1

2.ZoomOut(void)

说明:

缩小地图的一个级别。

参数:

返回值:

示例:

mapCtrl1.ZoomOut();

1.3.13.AddMarker(ref MarkerOption)

说明:

添加标注。

参数:

ref MarkerOption:

说明:所添加标注的属性。

类型:ref MMarkerOptions。

返回值:

true/false

说明:操作成功返回true,操作失败返回false。

类型:bool

示例:

MMarkerOptions markerOptions = new MMarkerOptions();

sbyte[] cID = new sbyte[128];

MMap.UnicodeToAnsi(cID, "Test");

markerOptions.cID = cID;

markerOptions.LonLat.fLon = (float)116.2938;

markerOptions.LonLat.fLat = (float)39.9430;

markerOptions.lWidth = 34;

markerOptions.lHigh = 32;

markerOptions.bIsImagePos = true;

markerOptions.ImagePos.fX = 17;

markerOptions.ImagePos.fY = 32;

string path=System.IO. Path.GetDirectoryName(System.Reflection.Assembly. GetExecutingAssembly(). GetName().CodeBase);

string imagePath = path + "\\Image\\marker.png";

sbyte[] cImagePath = new sbyte[128];

MMap.UnicodeToAnsi(cImagePath, imagePath);

markerOptions.cImagePath = cImagePath;

sbyte[] cName = new sbyte[128];

MMap.UnicodeToAnsi(cName, "宋体");

https://www.doczj.com/doc/4a3123160.html,ame = cName;

https://www.doczj.com/doc/4a3123160.html,belOption.FontStyle.lfWidth = 12;

https://www.doczj.com/doc/4a3123160.html,belOption.FontStyle.lfHeight = 12;

https://www.doczj.com/doc/4a3123160.html,belOption.FontStyle.ulColor = MMap.rgb(255, 0, 0);

https://www.doczj.com/doc/4a3123160.html,belOption.FontStyle.bBold = true;

sbyte[] text = new sbyte[256];

MMap.UnicodeToAnsi(text, "测试");

https://www.doczj.com/doc/4a3123160.html,belOption.cT ext = text;

markerOptions.bIsLabelPos = true;

https://www.doczj.com/doc/4a3123160.html,belPos.fX = 10;

https://www.doczj.com/doc/4a3123160.html,belPos.fY = 10;

mapCtrl1.AddMarker(ref markerOptions);

1.3.14.RemoveMarker(cID)

说明:

删除标注。

参数:

cID:

说明:标注的ID。

类型:String

返回值:

true/false

说明:操作成功返回true,操作失败返回false。

类型:bool

示例:

mapCtrl1.RemoveMarker("标注");

1.3.15.RemoveAllMarkers(void)

说明:

删除所有标注。

参数:

返回值:

true/false

说明:操作成功返回true,操作失败返回false。

类型:bool

示例:

mapCtrl1.RemoveAllMarkers();

1.3.16.GetMarkerOptions(cID)

说明:

获得标注属性。

参数:

cID:

说明:标注名称。

类型:String

返回值:

说明:标注属性。

类型:MMarkerOptions

示例:

MMarkerOptions options = new MMarkerOptions() ; options = mapCtrl1.GetMarkerOptions("标注");

1.3.17.UpdateMarker(ref markeroptions)

说明:

以用户给定的属性,更新标注。

参数:

markeroptions:

说明:标注的属性。

类型:ref MMarkerOpions

返回值:

0/-1

说明:操作成功时返回0,操作失败时返回-1。

类型:long

示例:

mapCtrl1.UpdateMarker(ref markeroptions);

1.3.18.SetMarkerVisibleById(cID, isVisible)

说明:

设置标注是否可见。

参数:

相关主题
文本预览
相关文档 最新文档