App Inventor2018地图组件参考手册(2)
本文介绍标记(Marker)组件。
概述
标记组件用于在地图上标记位置点,如一座建筑物,或兴趣点等。有多种方式设置标记的图标,例如,可以将上传到项目中的图片文件设置为标记点的图标,也可以使用创建标记内置过程来动态创建标记,并使用组件类代码块来设置标记的属性。
属性
水平对齐(AnchorHorizontal)
设置或读取标记中心点与图片之间的水平对齐方式,有三个可选项:居左、居右及居中。
垂直对齐(AnchorVertical)
设置或读取标记中心点与图片之间的垂直对齐方式,有三个可选项:居上、居下及居中对齐。
说明(Description)
设置或读取信息框中的说明文字,当启用信息框时,用户点击标记,将弹出信息框窗口。
允许拖拽(Draggable)
该属性决定用户是否可以在长按标记后将标记移动到新的位置。
启用信息框(EnableInfobox)
该属性决定用户点击标记时,是否弹出信息框。
填充色(FillColor)
设置或读取填充标记的颜色。该属性只适用于矢量图,也包括默认的标记图标。
高度(Height)
设置或读取标记的高度,单位为像素。
高度百分数(HeightPercent)
设置标记的高度占屏幕高度的百分比。
图片(ImageAsset)
设置或读取用于显示标记的图片。如果其取值为"empty-string"(空字串),则采用的是默认图标。
纬度(Latitude)
设置或读取标记位置的纬度值,单位为角度,赤道以北为正值,以南为负值,使用设置位置(SetLocation)内置过程可以同时设置标记的经纬度。
经度(Longitude)
设置或读取标记位置的经度值,单位为角度,0度经线以东为正值,以西为负值,使用设置位置(SetLocation)内置过程可以同时设置标记的经纬度。
线色(StrokeColor)
设置或读取标记轮廓线的颜色。
线宽(StrokeWidth)
设置或读取标记轮廓线的宽度。
标题(Title)
设置或读取信息框中的标题。当用户点击标记时, 将弹出信息框(前提是启用信息框)。
类型(Type)
设置或读取特征点的类型,对标记而言,其值为“marker”。
允许显示(Visible)
设置或读取标记是否可见。若其值为真,则显示标记,否则隐藏标记。
宽度(Width)
设置或读取标记的宽度,单位为像素。
宽度百分数(WidthPercent)
设置标记的宽度占屏幕宽度的百分比。
事件
点击
当用户点击标记时触发该事件。
拖拽
当用户拖拽标记时,连续触发该事件。
长按
当用户长按标记但尚未触发拖拽事件时,触发该事件。注意,仅当允许拖拽的属性值为假时,才能触发该事件。
开始拖拽
当拖拽操作开始时,触发该事件。
停止拖拽
当拖拽操作结束时,触发该时间。
内置过程
特征点方位(特征点,取中心点)[number BearingToFeature(component mapFeature, boolean centroids)]
返回从标记到指定特征点的方位,单位为角度,以正北为0度,顺时针为正方向。当参数取中心点为真时,方位置向特征点的中心,否则指向距标记最近的点。
位置点方位(纬度,经度,取中心点)[number BearingToPoint(number latitude, number longitude, boolean centroids)]
返回从标记到指定位置的方位,单位为角度,以正北为0度,顺时针为正方向。
到特征点距离(特征点,取中心点)[number DistanceToFeature(component mapFeature, boolean centroids)]
计算标记点到特征点至iande距离。当参数取中心点为真时,计算从标记到特征点中心的距离,否则,计算从标记到特征点的最短距离,此时如果标记与特征点重合,或相互包含,则返回值为0,如果发生错误,则返回值为0。
到定点距离(纬度,经度,取中心点)[number DistanceToPoint(number latitude, number longitude, boolean centroids)]
计算标记到指定经纬度的定点之间的距离。当参数取中心点为真时,计算圆心到定点的距离,否则,计算两者之间的最短距离。当两者重叠时,返回值为0,当发生错误时,返回值为-1。(该过程返回值与参数取中心点无关——译者注)
隐藏信息框[HideInfobox]
当信息框可见时,隐藏信息框,否则不做任何操作。
设置位置(纬度,经度)[SetLocation(number latitude, number longitude)]
将标记点移动至指定经纬度的位置。该过程比单独设置纬度及经度更有效率。
显示信息框[ShowInfobox]
如果信息框处于隐藏状态,则显示信息框,否则不做任何操作。注意,即便启用信息框的属性值为假,该过程也可以让信息框显示出来。