课程索引⑿——加油2017

预习:预习提纲

第一节:认识API

  1. API:Application Program Interface,应用程序接口;

  2. 高德地图API:ttp://lbs.amap.com/api/webservice/guide/api

  3. 注册、登录、申请开发者密钥(key):开发者身份识别码;

  4. 发送数据请求:URL地址的编写——参数名称及格式。

第二节:地图标注

URL参数markers:

  1. 一级分隔符“|”,用于分隔不同的标注样式;

  2. 二级分隔符“:”,用于分隔标注样式与标注位置(经纬度);

  3. 三级分隔符“;”,用于分隔相同标注样式中多个标注点;

  4. 四级分隔符“,”,用于分隔经纬度,以及三种标注内容(标注大小、颜色及文字)。

第三节:创建项目

  1. 重要组件:水平滚动布局组件及web客户端组件:

  2. 有返回值过程——静态地图URL:拼写字串,对中文字符进行编码;

  3. 浏览器地址栏可以自动去除空格,但App Inventor不会;

  4. 设图片组件的图片属性为静态地图URL的返回值。

第四节:时间换空间

  1. 在屏幕初始化时,读取屏幕尺寸,并让计时器开始计时;

  2. 在计时事件中,设图片组件(地图)的高度及宽度=屏幕高-搜索布局高-标题栏高度,并让计时器停止计时;

  3. 用地图的高度、宽度替换静态地图URL中的具体宽度、高度值;

  4. 用计时器延迟的原因:布局组件在屏幕初始化时高度及宽度值尚未确定。

第五节:搜索加油站

  1. 周边搜索API——关键参数:城市、搜索关键字、搜索半径、中心点位置(经纬度),

  2. 编写URL地址:返回JSON格式的数据。

第六节:解析JSON数据

  1. 有返回值过程——搜索URL:拼写字串,注意中文字符需要编码;

  2. 设置web客户端组件的网址属性为过程“搜索URL”的返回值,并发送请求;

  3. 在web客户端的收到文本事件:接收服务器返回的数据;

  4. 用web客户端组件解码JSON数据——转化为列表:键值对列表;

  5. 查询键值对列表——通过查询“键”,获得与之相应的“值”(加油站列表)。

第七节:名称与距离

  1. 列表选择框:允许显示=假,仅当提取到加油站名称及距离数据时,显示并打开该组件;

  2. 全局变量——加油站列表:

  3. 全局变量——加油站名称列表:针对加油站列表中的每个加油站,执行循环语句,提取名称与距离的值;

  4. 在列表选择框中显示加油站名称及距离。

第八节:显示加油站

  1. 改造过程——静态地图URL:添加参数——加油站经纬度,用参数替换之前的固定经纬度值;

  2. 当加油站选择框完成选择时,获取选中加油站的完整信息,并从中提取经纬度信息——键值对列表中键“location”的值,并在地图上显示该加油站的位置。

第九节:访问GPS卫星

  1. 位置传感器:当位置信息发生变化时,获取经纬度信息,并保存在全局变量“中心点”中;

  2. 利用地址输入框显示已经获得的经纬度信息;

  3. 改造过程——静态地图API:用中心点的经纬度信息替代原有的天安门经纬度;

  4. 改造过程——搜索URL:用中心点经纬度信息替换固定的经纬度。

第十节:地址与位置

  1. 地理编码API:用地址信息换取经纬度的值;

  2. API必填参数:city、地址、开发者key;

  3. 有返回值过程——地理编码URL:对中文字符进行编码;

  4. 调用地理编码API,获取键值对列表。

第十一节:解析经纬度

  1. 无返回值过程——提取经纬度:设置全局变量“中心点”的值;

  2. 判断web客户端组件收到文本事件来自于哪一个URL请求:搜索API或地理编码API;

  3. 根据获得的中心点位置,搜索周边的加油站。

第十二节:显示全部加油站

  1. 标注样式中有多个标注点时,用分号分隔不同的经纬度值;

  2. 有返回值过程——全部加油站经纬度:返回分号分隔的多个加油站经纬度字串;

  3. 改造加油站选择框的完成选择事件。

第十三节:整理与完善

  1. 创建过程——提取加油站:

  2. 在收到文本事件中,调用提取加油站过程,改进后的代码可读性提高;

  3. 创建过程的目的:①提高复用性;②提高可读性;

  4. 添加对话框组件,向用户显示必要的提示信息,增加软件的易用性,改善用户体验。

提醒:点击链接(蓝色文字)可直接进入视频课程页面。

(0)

相关推荐

  • 使用C#调用百度地图并实现坐标点的设置以及读取

    使用C#调用百度地图 申请百度地图密钥以及查看百度API 程序实现功能: 最终图 利用webBrowser控件展示地图 申请百度地图密钥以及查看百度API 网址:http://lbsyun.baidu ...

  • 解读普通高中课程方案和课程标准(2017年版)

    教育部今天发布普通高中课程方案和14门课程标准(2017年版).新的课程方案和课程标准进一步强化了学科的育人功能,体现了鲜明的育人导向,思想性.科学性.时代性.整体性等明显增强.新课程方案和课程标准有 ...

  • 唐曼:元旦//李玉康:感恩2016,加油2017//周亚清:2017,你这精灵

    元 旦 唐 曼 并不是一本新书的开头 是一个回合的 下回分解 是毫无表情的时间眨了一下眼睛 真的谈不上欢欣,为那些逝去的 我们所余的田地越来越少 还好,我们总以憧憬安慰自己 时光的尺子不会停止丈量 那 ...

  • 加油2017:预习提纲

    基于移动终端的地图应用,可以说是诸多移动应用中最实用的一类应用.在国内,有多家地图服务商已经为用户提供了功能丰富的移动客户端,不过,用户的需求是多种多样的,我们即将开发的『加油2017』,就是一款功能 ...

  • 课程索引①——按钮的故事

    第一节:勇往直前 App Inventor编程三部曲--设计.编程.测试: 设计三部曲--添加组件.设置属性.组件命名: 编写程序--在按钮点击事件中设置按钮的属性: 数据类型:文本. 第二节:再想想 ...

  • 课程索引②——向日葵

    第一节:按钮方阵 容器类组件--布局组件: 屏幕(Screen1)的允许滚动属性:允许查看屏幕上的全部组件: 容器中的多个按钮组件,当其宽.高均设为充满时,它们将均分并充满父容器. 第二节:按钮队列 ...

  • 课程索引③——听音练耳

    第一节:移花接木 另存项目:修改新项目不影响原有项目: 删除旧的素材文件,上传音频文件--留心文件的命名: 删除代码:右键菜单删除,或选中代码用"del"键删除: 循环语句:批量设 ...

  • 课程索引④——调色板

    第一节:排兵布阵 标签:命名为"调色板",设高度充满: 水平布局:三个,设宽度充满,垂直对齐居中: 向屏幕添加可视组件时,注意观察放下位置提醒--一个蓝色条状标记: 数字滑动条属性 ...

  • 课程索引⑤——涂鸦板

    第一节:用户界面 屏幕设置:水平居中,背景浅灰色,隐藏状态栏,标题: 复杂布局:水平布局与垂直布局嵌套应用: 椭圆形按钮. 第二节:时间的秘密 画布组件:可以用于绘画及写字: 可视组件与非可视组件: ...

  • 课程索引⑥——梦幻时钟

    第一节:有用的数学 应用中的长度要素:数字标注半径.时针.分针.秒针的长度: 应用中的角度要素:时针.分针.秒针与正午12点方向之间的夹角: 角度与时间之间的换算: 钟表指针的角度在画布坐标系中的计算 ...