一、什么是API

这周我们来了解一下API的学习和使用。

应用程序接口(API),又称为应用编程接口,是软件系统不同组成部分衔接的约定。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。”

百度百科解释API是:操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令。这个解释很官方,很专业。我在仔细阅读后还是不知道API 到底是什么,在产品中有什么作用。

实际上,API的本质就是第三方数据的调用与处理。

二、应用实例

我们今天以高德地图的数据为例来简单的了解一下,在APP中如何调用和使用API。了解它内部的原理和注意事项。首先我们应该找到一个API的开放网站,以高德地图为例,我们找到高德地图的官网。

注册成为开发者。成为开发者后,点击创建项目。

我们要选择Web服务,而不是其他。创建成功后,会给你一个密钥,我们使用这个密钥,才可以正确的与服务器进行通信。

至于如何使用密钥以及和服务器通讯的规则和方法,每个网站都不相同。我们可以从网站的开发者文档中寻找相应的规则和方法。我们以高德地图的开发者文档为例,简单简述一下各个部分的作用和原理。

https://restapi.amap.com/v3/staticmap?location=116.481485,39.990464&zoom=10&size=750*300&markers=mid,,A:116.481485,39.990464&key=<用户的key>

“?”前代表的是高德地图的网址,问号代表的是一个分隔符,用来分隔前一部分和后一部分的内容。“?”后面的部分是我们要显示的这张地图的放大倍数,长和宽,标记点等重要的参数,这些参数我们可以通过相关数值进行自由调整。

了解完这些知识,我们便可以简单的调用一个静态地图的API了通过下方的代码块儿进行拼接,我们可以得到如下的现象,是不是非常简单。但是我们有一点需要注意,我们在发送汉字的时候,需要将汉字进行编码服务器一般情况下是不能识别汉字的,如果不进行编码的话,可能会报错。

以上就是调用一张静态地图的API方法了。这张地图的作用就是可以标注我们我的位置和离我最近的加油站的位置。

三、API在搜索中的调用原理

然而在实际生活中,我们调用的地图更为灵活和多变。首先我们一定会使用到搜索功能,搜索功能如何实现,要用静态地图API便是我们所学习到的基础。​由于知识含量比较多,我们下次介绍。这次给大家一个简单的思路。我们要将静态地图中那些常量转化为变量。使用搜索的关键词来替换,静态地图中那些常量。然后结合列表和json数据处理来实现我们通过手机APP端搜索并调用API的全部过程。

这是API使用搜索功能的一段简单的UIL,红色部分是高德地图的服务器网址,v3代表搜索功能,around是确认地点,location=后面的内容是搜索的关键字的位置(经纬度),output是输出显示,xml是地图文件,radius代表搜索关键字半件范围。types代表目标地点。所以,上面一段话的意思是,搜索天安门周围的商务写字楼,搜索半径为10000米。

手机APP开发之MIT Appinventor详细实战教程(十一),地图API的调用与学习,第一部分相关推荐

  1. 手机APP开发之MIT Appinventor详细实战教程(一),利用通过蓝牙控制单片机,以及实现单片机与android设备之间的串口通信

    目录 (一)前期软件准备和硬件准备 ( 二 ) 实现的思路和操作原理 ( 三) 具体的操作方法 MIT Appinventor 是编程领域较为受欢迎且适用的编程软件 ,因其操作流程和使用方法简单,一直 ...

  2. 手机APP开发之MIT Appinventor详细实战教程(六),蓝牙与单片机进行多数据交互,通信蓝牙控制APP的研发与设计。 以及相关问题的思考。

    目录 一.App的简单介绍 二.蓝牙逻辑连接的实现 三.数据比较逻辑结构的实现 四.数据显示遇到的问题和思考 五.解决方法和尝试 六.问题分析与寻求帮助 七.总结 一.App的简单介绍 首先APP的功 ...

  3. 手机APP开发之MIT Appinventor详细实战教程(九),工具箱的设计和MIT的基础知识讲解

    (一)APP功能介绍 这次我给大家介绍一个关于工具箱的App ,这个APP在逻辑方面较为简单.但是他的设计过程中包含了很多相关的知识,通过这篇文章,可以让大家很具体有直观的了解到这个编程软件的使用方法 ...

  4. 手机APP开发之MIT Appinventor详细实战教程(十),标准登陆界面的逻辑设计和数据库的有效使用

    目录 (一)APP功能介绍 (二)设计流程 (三)知识点 (四)问题 (五)总结 (一)APP功能介绍 今天我们来学习设计一个登录界面的APP,虽然界面有些简陋,但其内在的逻辑设计却并不简单.我们首先 ...

  5. 手机APP开发之MIT Appinventor详细实战教程(十三),云服务器的数据遇到的问题和解决的方法,以及网页客户端的详细使用方法,WIFI通信,数据获取在one net平台的相关应用

    目录 一.案例介绍 二.云服务器规则 三.APP的设计和配置 这期我们介绍APP如何来获取云服务器的数据,本次教程是建立在云服务器已经有数据的情况下,APP方如何进行数据的获取. 一.案例介绍 物联网 ...

  6. Android 系统(55)---Android App开发之ANR异常的原因分析及处理总结

    Android App开发之ANR异常的原因分析及处理总结 Android App开发之ANR异常的原因分析及处理总结 ANR的全称是application not responding,根据它的意思 ...

  7. 我的App开发之路:从零开始到上线赚钱

    我的App开发之路:从零开始到上线赚钱 背景介绍 本人从第一次写代码赚钱开始,到现在已经12年了,使用过多种操作系统.编程语言. 现在作为一名个人开发者,开发一些小应用. 本文就应用软件开发做个简单总 ...

  8. android qt 串口通信,Qt串口通信开发之QSerialPort模块详细使用方法与实例

    Qt串口通信开发之QSerialPort模块详细使用方法与实例 发布时间:2020-10-23 12:19:05 来源:脚本之家 阅读:111 作者:沧海一笑-dj Qt串口通信基础及名词说明 串口通 ...

  9. Hbuilder app开发之app启动图片

    hbuilder app开发之app启动图片: http://jingyan.baidu.com/article/19020a0a163e73529d284200.html  注意:也可以打包的时候生 ...

最新文章

  1. window环境下mysql配置参数_Window下mysql环境配置问题整理
  2. 剑指offer(刷题51-60)--c++,Python版本
  3. “虎力全开”采购季,存储产品已就位
  4. input file上传图片预览
  5. 源码分析Dubbo Invoker概述----服务发现、集群、负载均衡、路由体系
  6. 解决Spring Boot集成Shiro,配置类使用Autowired无法注入Bean问题
  7. Quartz+Topshelf 作业
  8. PS替换证件照背景颜色
  9. 基于Java技术的汽车维修管理软件的设计与实现
  10. PPT如何制作一级标题、二级标题
  11. 2011浙江省公务员考试申论大作文的写作
  12. 微信小程序开发者工具 无法加载以下来源的扩展程序 问题解决
  13. 未来大龄程序员出路有哪些?
  14. 解决混淆报错问题-打包签名出现问题的解决方法
  15. 深聊性能测试,从入门到放弃之:如何对IO进行性能调优
  16. 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,第四个8 ,棋盘上放的所有芝麻的重量(后一个是前一个两倍)。循环练习题。
  17. 虚拟机连接外网(桥接)
  18. 超融合服务器连接虚拟机,H3C UIS 6.5超融合产品新增虚拟机配置指导-5W100
  19. Vue加载cesium指南针插件cesium-navigation
  20. Adobe Creative Suite 3: Ready this year?

热门文章

  1. 通过appt2查看apk包名、versionCode、versionName等
  2. 【12月比赛合集】42场可报名的数据挖掘奖金赛,任君挑选!
  3. 更智能的云米双开门风冷冰箱,除了追剧,还能让食材井井有条
  4. OpenCV—Python 对比度与亮度调整
  5. F.cross_entropy和F.binary_cross_entropy_with_logits
  6. 【概念】操作手册和用户手册的区别及制作
  7. 在斜坡上哪个物体滚的最快_在斜坡上哪个物体滚的最快_上海哪个停车场是你的噩梦?日月光的绕,恒隆的窄,新世界的车库太魔鬼…......
  8. 【ShardingSphere】ShardingSphere概览
  9. 关于 Web 可访问性的神话
  10. Android灯光系统背光灯