课程索引⑿——加油2017
预习:预习提纲
第一节:认识API
API:Application Program Interface,应用程序接口;
高德地图API:ttp://lbs.amap.com/api/webservice/guide/api
注册、登录、申请开发者密钥(key):开发者身份识别码;
发送数据请求:URL地址的编写——参数名称及格式。
第二节:地图标注
URL参数markers:
一级分隔符“|”,用于分隔不同的标注样式;
二级分隔符“:”,用于分隔标注样式与标注位置(经纬度);
三级分隔符“;”,用于分隔相同标注样式中多个标注点;
四级分隔符“,”,用于分隔经纬度,以及三种标注内容(标注大小、颜色及文字)。
第三节:创建项目
重要组件:水平滚动布局组件及web客户端组件:
有返回值过程——静态地图URL:拼写字串,对中文字符进行编码;
浏览器地址栏可以自动去除空格,但App Inventor不会;
设图片组件的图片属性为静态地图URL的返回值。
第四节:时间换空间
在屏幕初始化时,读取屏幕尺寸,并让计时器开始计时;
在计时事件中,设图片组件(地图)的高度及宽度=屏幕高-搜索布局高-标题栏高度,并让计时器停止计时;
用地图的高度、宽度替换静态地图URL中的具体宽度、高度值;
用计时器延迟的原因:布局组件在屏幕初始化时高度及宽度值尚未确定。
第五节:搜索加油站
周边搜索API——关键参数:城市、搜索关键字、搜索半径、中心点位置(经纬度),
编写URL地址:返回JSON格式的数据。
第六节:解析JSON数据
有返回值过程——搜索URL:拼写字串,注意中文字符需要编码;
设置web客户端组件的网址属性为过程“搜索URL”的返回值,并发送请求;
在web客户端的收到文本事件:接收服务器返回的数据;
用web客户端组件解码JSON数据——转化为列表:键值对列表;
查询键值对列表——通过查询“键”,获得与之相应的“值”(加油站列表)。
第七节:名称与距离
列表选择框:允许显示=假,仅当提取到加油站名称及距离数据时,显示并打开该组件;
全局变量——加油站列表:
全局变量——加油站名称列表:针对加油站列表中的每个加油站,执行循环语句,提取名称与距离的值;
在列表选择框中显示加油站名称及距离。
第八节:显示加油站
改造过程——静态地图URL:添加参数——加油站经纬度,用参数替换之前的固定经纬度值;
当加油站选择框完成选择时,获取选中加油站的完整信息,并从中提取经纬度信息——键值对列表中键“location”的值,并在地图上显示该加油站的位置。
第九节:访问GPS卫星
位置传感器:当位置信息发生变化时,获取经纬度信息,并保存在全局变量“中心点”中;
利用地址输入框显示已经获得的经纬度信息;
改造过程——静态地图API:用中心点的经纬度信息替代原有的天安门经纬度;
改造过程——搜索URL:用中心点经纬度信息替换固定的经纬度。
第十节:地址与位置
地理编码API:用地址信息换取经纬度的值;
API必填参数:city、地址、开发者key;
有返回值过程——地理编码URL:对中文字符进行编码;
调用地理编码API,获取键值对列表。
第十一节:解析经纬度
无返回值过程——提取经纬度:设置全局变量“中心点”的值;
判断web客户端组件收到文本事件来自于哪一个URL请求:搜索API或地理编码API;
根据获得的中心点位置,搜索周边的加油站。
第十二节:显示全部加油站
标注样式中有多个标注点时,用分号分隔不同的经纬度值;
有返回值过程——全部加油站经纬度:返回分号分隔的多个加油站经纬度字串;
改造加油站选择框的完成选择事件。
第十三节:整理与完善
创建过程——提取加油站:
在收到文本事件中,调用提取加油站过程,改进后的代码可读性提高;
创建过程的目的:①提高复用性;②提高可读性;
添加对话框组件,向用户显示必要的提示信息,增加软件的易用性,改善用户体验。
提醒:点击链接(蓝色文字)可直接进入视频课程页面。
