App Inventor2018地图组件参考手册(7)
本文介绍地图功能组件中的特征点群(FeatureCollection)组件。
概述
特征点群汇集了一个或多个地图上的特征点,当群中任何一点的事件被触发时,都将触发群的相应事件,可以从外部资源中加载特征点群到现有的地图中。目前只支持GeoJSON格式的数据。
属性
特征点集(Features)
返回一个列表,其列表项为特征点群中的全部特征点。
特征点数据(FeaturesFromGeoJSON)
从GeoJSON格式的数据(字符串)向地图中加载特征点群。考虑到数据的容量,建议将数据作为资源上传到项目中,或者使用源文件属性设置数据源的网址。
源文件(Source)
用于设置特征点群的数据来源,可以是文件名或网址。
允许显示(Visible)
设置组件在屏幕上是否可见。取值为真时显示组件,否则隐藏组件。
事件
特征点被点击(特征点)[FeatureClick(component feature)]
当某个特征点被点击时,包含它的特征点群将接收到这一特征点被点击事件,作为参数的特征点正是被点击的特征点群成员。
特征点被拖拽(特征点)[FeatureDrag(component feature)]
当某个特征点被拖拽时,其所属的特征点群将收到这一特征点被拖拽事件,作为参数的特征点正是被拖拽的特征点群成员。
特征点被长按(特征点)[FeatureLongClick(component feature)]
当某个特征点被长按时,其所属的特征点群将收到这一特征点被长按事件,作为参数的特征点正是被长按的特征点群成员。
开始拖拽特征点(特征点)[FeatureStartDrag(component feature)]
当某个特征点开始被用户拖拽时,其所属的特征点群将收到这一开始拖拽特征点事件,作为参数的特征点正是开始被拖拽的特征点群成员。
停止拖拽特征点(特征点)[FeatureStopDrag(component feature)]
当用户停止拖拽某个特征点时,其所属的特征点群将收到这一停止拖拽特征点事件,作为参数的特征点正是被停止拖拽的特征点群成员。
获得特征点(网址,特征点集)[GotFeatures(text url, list features)]
当从某个网址成功获得一个特征点群时,触发该事件。作为参数的特征点集是一个描述特征点的列表,可以利用内置过程提取特征点将其转换为App Inventor的特征点组件。
加载失败(网址,响应代码,错误信息)[LoadError(text url, text responseCode, text errorMessage)]
当访问指定网址获取特征点群时,如果访问失败则触发加载错误事件。参数响应代码中包含了HTTP状态码,参数错误信息中包含了对错误的具体描述。
内置过程
提取特征点(特征点集)[any FeatureFromDescription(list description)]
根据参数特征点集返回一个特征点群组件,如果数据中有错误,如数据格式错误,则该过程将返回描述错误的文本。使用为字符串块判断返回值是否为错误信息。特征点数据中的属性名将被转化成App Inventor能够识别的大小写敏感的属性名。如下所述。
description → Description
draggable → Draggable
infobox → EnableInfobox
fill → FillColor
image → ImageAsset
stroke → StrokeColor
stroke-width → StrokeWidth
title → Title
visible → Visible
从网址加载数据(网址)[LoadFromURL(text url)]
调用此方法可以从指定网址(包括文件地址)加载GeoJSON格式的特征点数据,以获得特征点群。如果加载成功,则该特征点群的成员将被替代,并触发获得特征点事件。如果加载失败,将触发加载错误事件。