




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中篇:第三章-Google地图开发技术--Google-Earth-API中篇:第三章-Google地图开发技术--Google-Earth-API中篇:第三章-Google地图开发技术--Google-Earth-API通过使用Google地球插件及其JavaScriptAPI,你可以在网页中嵌入全功能的Google地球及其三维呈现功能。与Google地图API一样,您可以绘制标记和线条—不过是以三维的方式!通过使用Google地球插件及其JavaScriptAPI,你可以在网页中嵌入全功能的Google地球及其三维呈现功能。与Google地图API一样,您可以绘制标记和线条—不过是以三维的方式!3.2.1API基础应用程序接口(ApplicationProgrammingInterface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常会需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性一、API概述应用程序接口为:“‘电脑操作系统(Operatingsystem)’或‘程序库’提供给应用程序调用使用的代码”。其主要目的是让应用程序开发人员得以调用一组例程功能,而无须考虑其底层的源代码为何、或理解其内部工作机制的细节。API本身是抽象的,它仅定义了一个接口,而不涉入应用程序如何实现的细节。应用程序接口是一组数量上千、极其复杂的函数和副程序,可让程序员做很多任务,譬如“读取文件”、“显示菜单”、“在视窗中显示网页”等等。操作系统的API可用来分配存储器或读取文件。许多系统应用程序借由API接口来实现,像是图形系统、数据库、网络Web服务,甚至是联机游戏。应用程序接口有诸多不同设计。用于快速执行的接口通常包括函数、常量、变量与数据结构。也有其它方式,如通过解释器,或是提供抽象层以屏蔽同API实现相关的信息,确保使用API的代码无需更改而适应实现变化。应用程序接口经常是软件开发工具包(SDK)的一部分。二、开放API平台基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。开放是目前的发展趋势,越来越多的产品走向开放。目前的网站不能靠限制用户离开来留住用户,开放的架构反而更增加了用户的粘性。在Web2.0的浪潮到来之前,开放的API甚至源代码主要体现在桌面应用上,而现在越来越多的Web应用面向开发者开放了API。具备分享、标准、去中心化、开放、模块化的Web2.0站点,在为使用者带来价值的同时,更希望通过开放的API来让站点提供的服务拥有更大的用户群和服务访问数量。站点在推出基于开放API标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易用,其他站点就会主动将开放API提供的服务整合到自己的应用之中。同时,这种整合API带来的服务应用,也会激发更多富有创意的应用产生。为了对外提供统一的API接口,需要对开发者开放资源调用API的站点提供开放统一的API接口环境,来帮助使用者访问站点的功能和资源。当然,开放API的站点为第三方的开发者提供良好的社区支持也是很有意义的,这有助于吸引更多的技术人员参与到开放的开发平台中,并开发出更为有趣的第三方应用。3.2.2GoogleEarthAPI简介要在网页中载入Google地球插件,你需要进行以下操作:载入Google地球API。创建DIV元素来包含该插件。创建初始化插件的函数。网页载入后,调用该初始化函数。一、载入Google地球API将以下标签置于HTML网页的<head>中,用自己的密钥(可从获取)来替换ABCDEF:<script src=""></script>标签的src指向具有单个方法(用于载入个别GoogleAPI的google.load)的JavaScript文件。在新的<script>标签中,调用:google.load("earth","1");该调用告知Google将earth模块载入到google.earth命名空间,并指定版本1(API的最新稳定版本)。二、创建插件的容器将Google地球插件载入到具有唯一ID的DIV元素中。添加DIV到网页的<body>部分:<divid="map3d"style="height:400px;width:600px;"></div>三、创建初始化函数将创建三个函数。它们将按顺序进行以下操作:尝试创建新的插件实例在成功创建插件实例后调用在未能创建实例时调用第一个函数如下所示:functioninit(){google.earth.createInstance('map3d',initCB,failureCB);}google.earth.createInstance此处显示了三个选项:应添加实例到其中的DIV元素、返回成功时要调用的函数以及返回失败时要调用的函数。四、网页载入后,调用初始化函数Google命名空间包括setOnLoadCallback()函数,在载入HTML网页和所请求的API后,该函数将调用所指定的函数。使用此函数可确保只有在网页DOM完全扩展后才载入插件。google.setOnLoadCallback3.2.2GoogleEarthAPI基本操作一、地标点地标用于标记地球表面上的位置。最基本的地标包括标准图标和地理位置。此外,地标还可以包括:说明自定义图标定义翻转图标的样式地图二、球形框球形框是在Google地球插件中显示的信息窗口,你可选择将其与地图项关联。其内容由开发人员指定,可包含任何HTML、CSS或JavaScript(地图项球形框除外)。球形框的大多数方面都可以通过API进行控制:高度和宽度的最小值和最大值(setMinHeight()、setMaxHeight()、setMinWidth()、setMaxWidth())背景颜色(setBackgroundColor())*不适用于地图项球形框文本颜色(setForegroundColor())*不适用于地图项球形框与球形框关联的地图项(setFeature())是否包含关闭按钮(setCloseButtonEnabled())三、几何图形和叠加层几何图形和叠加层包括:线字符串、多边形、地面叠加层、屏幕叠加层、multiGeometry、三维模型等。四、KMLGoogle地球插件可以用不同的方式导入KML,以便显示地图项、航线和视图。该插件支持所有的KML2.2标签和使用gx命名空间的KML的扩展。不管地图项是作为KML导入的还是使用API创建的,该插件同样可以针对这些地图项返回KML表示。3.3GoogleMapsAPIGoogleMapsJavaScriptAPI允许你把Google地图嵌入到你自己的网页内。要使用这个API,首先您需要申请一个APIkey,然后按照下面的指南操作。3.3.1GoogleMapsAPI简介学习这个API最简单的方法就是看一个简单的例子,GoogleMaps上的HelloWorld。下面的网页显示一个500x300的地图,中心位于California,PaloAlto:其中,(1)地址()是在你的页面放置Google地图需要的所有的代码的JavaScript文件。你的页面必须包含指向这个地址的script标记,并加上你的APIKey。如果你的APIKey是"abcdefg",则有key=abcdefg。(2)GoogleMapAPI所有的对象、属性和方法都存放于“G”命名空间里,描绘地图的类“GMap2”是API的中心类(朱健2011)。这个类在页面上显示一个地图。你可以创建任意多个该类的实例(一个实例就是页面上的一个地图)。创建了地图实例之后,就可以指定一个页面元素(通常是div元素)来包含它。除非您明确的指定地图的尺寸,否则地图大小会取决于容器的尺寸。(3)地址中的v=2部分表明API的版本是2。(4)setCenter方法来初始化刚刚创建的地图实例,括号中的2个参数分别是初始化地图的中心点坐标和地图的缩放级别。这里的GLatLng类是GoogleMapAPI的另一个重要对象,用来存放经纬度坐标点(朱健2011)。3.3.2GoogleMapsAPI地图操作一、地图移动和动画下面的例子显示一个地图,然后等待2秒,然后平移到一个新的中心点。panTo方法把地图的中心移动到一个指定点。如果指定点在地图的可见区域内,地图中心会平滑地平移到指定点,否则地图中心会直接跳到那个点。二、在地图上添加控件可以用addControl方法在地图上添加控件。在这个例子里,我们加入GSmallMapControl和GMapTypeControl控件,这样我们分别可以移动/缩放地图以及在地图和卫星模式之间切换。三、事件监听器注册一个事件监听器需要调用GEvent.addListener方法。把一个地图,一个需要监听的事件,一个事件发生时需要调用的函数传给GEvent.addListener方法。在下面的例子里,在我们拖动地图后,显示地图中心的经纬度。四、打开信息窗口创建一个信息窗口,调用openInfoWindow方法,传递给它一个位置和一个用来显示的DOM元素。下面的例子在地图中心显示一个包含"Hello,world"信息的窗口。五、地图覆盖物覆盖对象是覆盖在地图上有固定经纬度坐标位置的对象,所以当你拖动地图或者改变地图类型的时候,它们也会跟着移动。MapsAPI支持两种类型的覆盖对象:标记,地图上的图标;折线,用一系列点形成的折线。这个例子在地图上显示一个5个点连成的折线。六、点击事件处理要在用户点击地图的时候触发一个动作,就需要在GMap2实例上注册一个“click”事件的监听器。当事件被触发的时候,事件处理句柄将收到两个参数:被点击的标记(如果有),被点击点的GLatLng(经纬度)。如果没有标记被点击,那么第一个参数为null。注意:标记是唯一支持"click"事件的内建覆盖对象。其他类型的覆盖对象,如GPolyline是不能被点击的。3.3.3GoogleMapsAPI地理译码可以直接发HTTP请求的方式来访问MapsAPI的地理译码器,或者可以用GClientGeocoder对象在JavaScript下发送请求。这样可以从你的服务器进行地理译码调用或者让用户的浏览器进行这个操作。如果你有一个相对稳定的地址数据库(待售房产的列表),我们建议你通过HTTP请求一次性获得地理译码信息,然后把这些地址缓存在你自己的数据库里。这让你的网站的交互会更快,而且可以减少你对每日地理译码请求限额的消耗。到目前为止,这个地理译码器还没有足够的中国的本地化信息可以使用。一、JavaScript下使用地理译码在JavaScript下可以用GClientGeocoder对象来访问地理译码器。get
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阳山小学考试试卷及答案
- 2.2任务二花卉的分株繁殖 说课稿 2024-2025学年浙教版初中劳动技术七年级下册
- 2025年滨州市实验小学六年级第二十三单元测试数学试卷新课
- 成人经口气管插管机械通气患者口腔护理
- 2025年起重机械指挥证模拟考试题库及答案
- 2025年高考生物试题分类汇编体液调节(解析版)
- 人工智能应用基础 课件 项目4 人工智能开发与技术应用
- 2025年山东省青岛市中考化学试题(解析版)
- 2025购物中心省级区域代理合同
- 小班图形规律题目及答案
- 2025至2030中国水射流强化泵行业项目调研及市场前景预测评估报告
- 《推销实务》中职全套教学课件
- 销售激励方案奖罚制度(3篇)
- 2025-2026年秋季学期各周国旗下讲话安排表+2025-2026学年上学期升旗仪式演讲主题安排表
- GB/T 45875-2025精细陶瓷自然烧结条件下陶瓷粉体致密性的测定
- 中药足浴课件
- 新解读《水文资料整编规范 SL-T 247-2020》解读
- 家庭适老化改造案例研究及经验分享
- 中邮理财招聘笔试题库2025
- 2024年西师版小学数学二年级上册教案全册
- 局部晚期头颈部肿瘤治疗讲课件
评论
0/150
提交评论