地图控件接口函数详细说明.docx
《地图控件接口函数详细说明.docx》由会员分享,可在线阅读,更多相关《地图控件接口函数详细说明.docx(11页珍藏版)》请在冰豆网上搜索。
地图控件接口函数详细说明
地图控件接口函数详细说明
控件方法说明:
地图状态
SetMapMode(shortnMapMode)
参数说明:
nMapMode为1表示放大,
nMapMode为2表示缩小,
nMapMode为3表示漫游,
nMapMode为4表示测距
返回值:
无
详细说明:
该函数可以设置当前地图的操作模式,切换地图操作的状态,设置地图为某一状态后,地图窗口就可以进行相应的操作。
例如当设成放大状态时,地图控件窗口的光标就会变成放大的光标,单击地图进行放大,或者可以进行拉框放大。
注意:
测距状态下,双击鼠标左键测距状态恢复到原始测距状态。
SetMapCenter(longCenterX,longCenterY)
参数说明:
CenterX:
内部经度(实际经度乘360000),
CenterY:
内部纬度(实际纬度乘360000)
返回值(BOOL):
TRUE设置成功
FALSE设置失败
详细说明:
该函数的功能是把指定的经纬度,设置成当前地图控件的中心。
注意:
调用该函数不会立即引起地图控件的重绘,调用DrawMap()函数后,控件才能进行重绘,并把地图控件中心调整指定的中心
SetMapScale(longnScale)
参数说明:
nScale:
设置地图的比例,比例的数值是一个枚举类型,合法的参数有如下几个:
20,30,50,100,
200,300,500,1000,
2000,3000,5000,10000,
20000,30000,50000,100000
返回值(BOOL):
TRUE设置成功
FALSE设置失败
详细说明:
该函数的功能是改变当前地图的缩放比例,20时地图放大到最大,100000时地图缩小到最小,
注意:
调用该函数不会立即引起地图控件的重绘,调用DrawMap()函数后,控件才能进行重绘,并把地图控件比例缩放到指定比例
longGetMapCenterX()
longGetMapCenterY()
参数:
无
返回值说明:
GetMapCenterX返回当前地图控件中心的内部经度(实际经度乘360000),0为执行失败。
GetMapCenterY返回当前地图控件中心的内部纬度(实际纬度乘360000),0为执行失败。
详细说明:
返回当前地图控件中心的内部坐标。
longGetMapScale();
参数:
无
返回值说明:
返回当前地图的比例。
返回值参考SetMapScale()说明
详细说明:
取得当前地图的显示比例。
floatGetMapAngle()
参数:
无
返回值(float):
返回当前地图旋转角度的弧度值。
详细说明:
调用该接口,可以返回当前地图的旋转角度。
longGetMapScale()
参数:
无
返回值(float):
返回当前地图控件的比例
详细说明:
取得地图控件的当前比例
longGetPointX(longx,longy),longGetPointY(longx,longy)
参数说明:
x:
屏幕横坐标。
y:
屏幕纵坐标。
返回值(long):
GetPointX返回加密后的内部经度,GetPointY返回加密后的内部纬度。
详细说明:
调用此函数可以转换屏幕坐标为经纬度坐标。
Zoom(longbZoomOut)
参数说明:
0为地图放大,
1为地图缩小
返回值(BOOL):
TRUE设置成功
FALSE设置失败
详细说明:
该函数的功能是改变当前地图的缩放比例到临近的一个比例(放大或者缩小),并且不用调用DrawMap()就可以立即改变控件中的地图显示,该函数实质是对SetMapScale和DrawMap函数的一个封装。
Scroll(longcx,longcy)
参数说明:
cx在水平方向上平移的象素数
cy在垂直方向上平移的象素数
返回值(long):
0暂时保留
详细说明:
该函数的是对地图进行平移操作,其实质是对SetMapCenter和DrawMap的一个封装。
SetAutoScroll(booleanbEnable)
参数说明:
bEnable为0为不会自动滚动
bEnable为1为启用自动滚动
返回值(long):
0暂时保留
详细说明:
设置鼠标移动到地图边界时,地图是否自动滚动,即地图是否自动上,下,左,右平移。
附加信息点线管理
AddSelectPoi(longx,longy,BSTRname,longnType,longsec)
参数说明:
x为内部经度(实际经度乘360000),
y为内部纬度(实际纬度乘360000)
name为该显示点的名称
nType为该显示点的图标类型,-1为红色三角形,0为红色圆点
sec设置为0暂时保留
返回值(long):
标示添加点的ID。
详细说明:
在地图上添加一个提示点或者地点标注。
注意:
该函数并不能重绘,必须调用DrawMap()才能重绘地图,显示添加的点。
voidClearAllSelect()
参数:
无
返回值:
无
详细说明:
清除当前地图上添加的所有提示点或地点标注。
注意:
该函数并不能重绘,必须调用DrawMap()才能清除所有的点。
boolClearPoint(longnIndex)
参数说明:
nIndex:
要清除的点的ID(即AddSelectPoi()返回的ID)。
返回值:
无
详细说明:
从当前地图上清除指定ID的兴趣点。
注意:
该函数并不能重绘,必须调用DrawMap()才能清除指定的点。
AddLine(longx1,longy1,longx2,longy2,longtype,longwidth,longcolor)
参数说明:
Longx1:
添加线起点的内部经度(实际经度乘360000)。
Longy1:
添加线起点的内部纬度(实际纬度乘360000)。
Longx2:
添加线终点的内部经度(实际经度乘360000)。
Longy2:
添加线终点的内部纬度(实际纬度乘360000)。
type:
:
添加线的类型0实线,1:
虚线。
Width:
添加线的宽度,以像素数为单位。
Color:
添加线的颜色,使用16进制RGB
返回值(long):
标示添加线的ID。
详细说明:
在地图上添加一条指定风格的直线。
注意:
该函数并不能重绘地图,须调用DrawMap()才能显示添加的线。
ClearAllLine()
参数:
无
返回值:
无
详细说明:
清除地图上所有添加的线段。
注意:
该函数并不能重绘地图,须调用DrawMap()才能清除所有添加上去的线。
15:
floatSetMapAngle(floatangle)
参数说明:
angle:
设置旋转角度(弧度),为正则顺时针旋转,为负则逆时针旋转。
返回值(float):
返回旋转前的地图旋转角度
详细说明:
通过设置当前地图的旋转,使地图旋转。
该函数不会导致地图重绘,只有调用DrawMap()后才能重绘地图,使地图旋转。
图层控制
ShowPoi(longtype,boolbshow)
参数说明:
type:
要特殊显示的信息点类别(请参考附件1)。
如果为)0xfffff则可以对所有的兴趣点进行控制。
bshow:
1显示,0不显示
返回值(BOOL):
TRUE执行成功
FALSE执行失败
详细说明:
该函数设置是否特殊显示指定类别的兴趣点(显示为大图标)。
注意:
该函数并不能重绘,必须调用DrawMap()才能起作用
longSetLayerConf(LPCTSTRstrLayerStyle,longnType)
参数说明:
strLayerStyle:
可以对图层进行设置的串。
格式如下:
13270100005001000011,
类别码最大显示比例最小显示比例开始标注比例初始是否加载是否支持动作(只对点起作用)
说明:
13270为表示兴趣点类别码(详见附录1),10000表示设置该类兴趣点在比例尺小于等于10000时开始显示,500表示设置该类兴趣点在比例尺小于500时不再显示,10000表示设置该类兴趣点在比例尺小于等于10000时开始标注。
1表示该层数据在初始化时加载,0为不加载。
1表示该类兴趣点是否支持动作(点击触发事件通过返回的兴趣点的ID可以进行其它操作)。
0表示不触发事件。
注意:
该串中间用Tab键分隔,不是空格。
nType:
1对兴趣点设置,目前只支持兴趣点。
返回值(long):
-1设置失败,0设置成功。
详细说明:
该函数配合ShowPoi()可以实现特色地图功能。
该函数也不能引起地图重绘。
必须调用DrawMap()重绘地图。
longSetLayerStyle(LPCTSTRstrLayerStyle,longnType)
参数说明:
strLayerStyle:
可以对图层进行设置的串。
格式如下:
1327010000016.bmp54
类别码图标最小显示比例图标所在的位图列文件名指定图标在位图列的索引
说明:
13270为表示兴趣点类别码(详见附录1),10000表示设置该类兴趣点在比例尺小于等于10000时开始以图标的形式显示,16.bmp为图标所在位图列的文件名,54为指定图标在位图列中的索引。
nType:
1对兴趣点设置,目前只支持兴趣点。
注意:
该串中间用Tab键分隔,不是空格。
返回值(long):
-1设置失败,0设置成功。
详细说明:
该函数配合ShowPoi(),SetLayerConf()可以实现特色地图功能。
该函数也不能引起地图重绘。
必须调用DrawMap()重绘地图。
voidResetLayerConf()
参数:
无
返回值:
无
详细说明:
重新设置所有图层配置(显示时机等)为默认设置,必须调用DrawMap使地图重绘。
voidResetLayerStyleConf()
参数:
无
返回值:
无
详细说明:
重新设置所有图层风格(图标等)为默认设置,必须调用DrawMap()使地图重绘。
()后才能起作用。
注意:
如果位置不在当前屏幕内,则自动把该信息框显示在地图中心。
boolSetHostInfo(LPCTSTRstrHost)
参数说明:
strHost:
要设置的地图数据服务器名(不是80端口则要设置端口)。
例如:
:
8020。
返回值(bool):
true设置成功,false设置失败。
详细说明:
调用该函数可以动态设置控件要访问的地图数据服务器。
地图绘制
DrawMap()
返回值(BOOL):
TRUE执行成功
FALSE执行失败
详细说明:
该函数在对地图进行操作后调用,重新绘制控件窗口中的地图。
不论是添加点线还是地图状态改变,或者是图层改变都需要调用该函数才能显示出当前状态
voidSetDisplayCtrolBar(BOOLbShow,longoffsetX,longoffsetY)
参数说明:
bShow:
1为显示,0为不显示。
offsetX:
设置地图控制条显示控件客户区横坐标。
offsetY:
设置地图控制条显示控件客户区纵坐标。
返回值(无)
详细说明:
该函数设置在指定位置是否显示地图控制条。
必须调用DrawMap才能起作用。
voidDrawTip(longx,longy,LPCTSTRstrTip)
参数说明:
x:
绘制信息提示框的内部经度(实际经度乘360000)。
y:
绘制信息提示框的内部纬度(实际纬度乘360000)。
strTip:
在信息提示框中显示的信息内容。
返回值:
无
详细说明:
以信息提示框的形式在指定位置显示特定内容。
该函数必须调用DrawMap
控件属性说明
注意这些属性只在初始化的时候起作用
bEnableAutoScroll
类型:
布尔型
说明:
初始化控件是否启用自动滚动功能
TRUE
(1)到屏幕边缘会到自动滚动
FALSE(0)到屏幕边缘不自动滚动
bShowCmdWnd
类型:
布尔型
说明:
初始化控件是否启用能够自动切换城市的命令框子窗口
为TRUE
(1)的话到屏幕边缘会到自动滚动
FALSE(0)的话到屏幕边缘不自动滚动
nMapCenterX
类型:
整型
说明:
初始化控件的显示中心经度×360000
nMapCenterY
类型:
整型
说明:
初始化控件的显示中心纬度×360000
nMapScale
类型:
整型
说明:
初始化控件地图显示的比例目前只能是如下几个值
20,30,50,100,
200,300,500,1000,
2000,3000,5000,10000,
20000,30000,50000,100000
strHostInfo
类型:
字符串
说明:
地图数据服务器
控件事件说明
OnInitShowMap()
说明:
控件在初始化地图之前触发事件,可以在此事件中初始化地图的位置
OnSelectPoi(longnID,longnType)
参数:
nID:
选中点的ID
nType:
选中点的类型,类型请参考附件,类型参照表
Click()
说明:
鼠标单击控件触发
DbClick()
说明:
鼠标双击控件触发
OnMouseEnter()
鼠标进入控件触发该事件
OnMouseLeave()
鼠标离开控件触发该事件
KeyDown(Short*KeyCode,ShortShift)
KeyPress(Short*KeyAscii)
KeyUp(Short*KeyCode,shortShift)
MouseDown(shortButton,shortShift,longx,longy)
MouseMove(shortButton,shortShift,longx,longy)
MouseUp(shortButton,shortShift,longx,longy)
附KeyDown参数说明,摘自MSDN
keycode
Keycode,suchasvbKeyHome(theHOMEkey).
shift
IntegerthatcorrespondstothestateoftheSHIFT,CTRL,andALTkeysatthetimeoftheevent.
附KeyPress参数说明,摘自MSDN
keyascii
AnintegerthatreturnsastandardnumericANSIkeycode.Keyasciiispassedbyreference;changingitsendsadifferentcharactertotheobject.Changingkeyasciito0cancelsthekeystrokesotheobjectreceivesnocharacter.
附MouseDown参数说明,摘自MSDN
button
Returnsanintegerthatidentifiesthebuttonthatwaspressed(MouseDown)orreleased(MouseUp)tocausetheevent.Thebuttonargumentisabitfieldwithbitscorrespondingtotheleftbutton(bit0),rightbutton(bit1),andmiddlebutton(bit2).Thesebitscorrespondtothevalues1,2,and4,respectively.Onlyoneofthebitsisset,indicatingthebuttonthatcausedtheevent.
shift
ReturnsanintegerthatcorrespondstothestateoftheSHIFT,CTRL,andALTkeyswhenthebuttonspecifiedinthebuttonargumentispressedorreleased.Abitissetifthekeyisdown.Theshiftargumentisabitfieldwiththeleast-significantbitscorrespondingtotheSHIFTkey(bit0),theCTRLkey(bit1),andtheALTkey(bit2).Thesebitscorrespondtothevalues1,2,and4,respectively.Theshiftargumentindicatesthestateofthesekeys.Some,all,ornoneofthebitscanbeset,indicatingthatsome,all,ornoneofthekeysarepressed.Forexample,ifbothCTRLandALTwerepressed,thevalueofshiftwouldbe6.
x,y
Returnsanumberthatspecifiesthecurrentlocationofthemousepointer.ThexandyvaluesarealwaysexpressedintermsofthecoordinatesystemsetbytheScaleHeight,ScaleWidth,ScaleLeft,andScaleToppropertiesoftheobject.