使用高德地图
使用高德地图的步骤为:
1、将地图控件的地图来源设置为"Custom"。
2、将地图控件的GetMapTile事件的代码设置为:
Dim
style
As
Integer
= 8
'地图类型,可选值为6到10,其中6为卫星图
Dim
size
As
Integer
= 1
Dim
scale
As
Integer
= 1
Dim
server
As
Integer
= Rand.Next(1, 5)
'随机使用1到4号服务器
Dim
scl
As
Integer
= 1
'设置为2可以隐藏地图的文字标注,且分辨率更好
Dim
Language
As
String
=
"zh_cn"
'中文地图,如果需要英文可设置为"en",我
测试只有style为8的时候才支持英文
Dim
url
As
String
If
style = 7
OrElse
style = 8
Then
url =
"https://webrd0{0}.is.autonavi.com/appmaptile?lang={1}&size={2}&scale={3}&style={4}&x={5}&y={6}&z={7}&scl={8}"
Else
url =
"https://webst0{0}.is.autonavi.com/appmaptile?lang={1}&size={2}&scale={3}&style={4}&x={5}&y={6}&z={7}&scl={8}"
End
If
e.URI = CExp(url, server, Language, Size, scale, style, e.X, e.Y, e.Z, scl)
GetMapTile事件用于获取第三方地图,其e参数属性有:
| 属性 | 说明 |
| X | 水平位置 |
| Y | 垂直位置 |
| Z | 缩放(Zoom)倍数 |
| URI | 一个WEB地址,用于从第三方地图服务获取指定位置的地图瓦片 |
| Image | 用于直接设置该位置的地图瓦片 |
工作原理:
大部分在线地图都会将整幅地图分解成多个小块(瓦片)传送,每个瓦片的大小为256*256个像素,X和Y分别用于指定瓦片的位置,假定合成的URI为:
https://webrd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x=5&y=2&z=3&scl=1
表示要获取第5行第2列的瓦片,Map控件获得这个瓦片后,将其绘制在对应的位置。