google earth api开发者指南(高级)

上传人:小** 文档编号:55706803 上传时间:2018-10-04 格式:DOC 页数:12 大小:1.08MB
返回 下载 相关 举报
google earth api开发者指南(高级)_第1页
第1页 / 共12页
google earth api开发者指南(高级)_第2页
第2页 / 共12页
google earth api开发者指南(高级)_第3页
第3页 / 共12页
google earth api开发者指南(高级)_第4页
第4页 / 共12页
google earth api开发者指南(高级)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《google earth api开发者指南(高级)》由会员分享,可在线阅读,更多相关《google earth api开发者指南(高级)(12页珍藏版)》请在金锄头文库上搜索。

1、2008-07-09Google2008-07-09Google EarthEarth APIAPI 开发者指南(高级)开发者指南(高级)(2008-07-10 12:43:39) 标签:google earth 开发 应用 财经 分类:学海拾贝感慨:感慨:GoogleGoogle EarthEarth 真是一个好东东,而其爱好者更是天才啊。我们与老美在科技上的差真是一个好东东,而其爱好者更是天才啊。我们与老美在科技上的差距,不是我们以环境、资源为代价的粗放式快速增长的距,不是我们以环境、资源为代价的粗放式快速增长的 GDPGDP 所能掩盖的。所能掩盖的。GoogleGoogle EarthE

2、arth APIAPI 开发者指南(高级)开发者指南(高级)-摘自 Godeyes 创建地面覆盖创建地面覆盖地面覆盖,允许您在 Google Earth 的地表上放置图像。其中,图像源自网络,图片的 URL包含在“Icon”对象内。var groundOverlay = ge.createGroundOverlay( );groundOverlay.setIcon(ge.createIcon( )groundOverlay.getIcon().setHref(“http:/ );var center = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIV

3、E_TO_GROUND);var north = center.getLatitude() + .85;var south = center.getLatitude() - .85;var east = center.getLongitude() + .55;var west = center.getLongitude() - .55;var rotation = 0;var latLonBox = groundOverlay.getLatLonBox();latLonBox.setBox(north, south, east, west, rotation);ge.getFeatures()

4、.appendChild(groundOverlay);此例中,Google 的 logo 被叠放在加州总部山景城的位置。地面覆盖的特点是始终吸附在地表,无论图像放在山脉还是河谷,如下图所示:创建屏幕覆盖创建屏幕覆盖屏幕覆盖是指图片固定在屏幕上,不像地面覆盖那样跟随地表起伏而变化。屏幕覆盖通常用来做 logo、商标、图例等,其长宽尺寸由 size 属性决定。图像位置(screenXY 属性)由图中的安置点(overlayXY 属性)控制,其旋转角度由 rotationXY 属性决定。下列代码将用 Google 标志图来创建一个屏幕覆盖,并倾斜一定角度。var screenOverlay = g

5、e.createScreenOverlay( );screenOverlay.setIcon(ge.createIcon( );screenOverlay.getIcon().setHref(“http:/ Set screen position in pixelsscreenOverlay.getOverlayXY().setXUnits(ge.UNITS_PIXELS);screenOverlay.getOverlayXY().setYUnits(ge.UNITS_PIXELS);screenOverlay.getOverlayXY().setX(400);screenOverlay.ge

6、tOverlayXY().setY(200);/ Rotate around object s center pointscreenOverlay.getRotationXY().setXUnits(ge.UNITS_FRACTION);screenOverlay.getRotationXY().setYUnits(ge.UNITS_FRACTION);screenOverlay.getRotationXY().setX(0.5);screenOverlay.getRotationXY().setY(0.5);/ Set object s size in pixelsscreenOverlay

7、.getSize().setXUnits(ge.UNITS_PIXELS);screenOverlay.getSize().setYUnits(ge.UNITS_PIXELS);screenOverlay.getSize().setX(300);screenOverlay.getSize().setY(75);/ Rotate 45 degreesscreenOverlay.setRotation(45);ge.getFeatures().appendChild(screenOverlay);效果如下图所示:样式地图样式地图样式地图在一般情况为地标下提供两种状态:普通状态和高亮状态,分别由两种

8、图标来表示,当用户在 Google Earth 中用鼠标在地标图案上经过时,图案会自动切换至高亮状态。下例代码中,地标在普通状态时,图案为三角形,当鼠标在地标上方经过时,其图案变为矩形。map = ge.createStyleMap( styleMap + counter);/ Create icon normal for style mapnormal = ge.createIcon( );normal.setHref( http:/ );iconNormal = ge.createStyle( styleIconNormal + counter);iconNormal.getIconSty

9、le().setIcon(normal);? / Create icon highlight for style maphighlight = ge.createIcon( );highlight.setHref( http:/ );iconHighlight = ge.createStyle( styleIconHighlight + counter);iconHighlight.getIconStyle().setIcon(highlight);? / Set normal and highlight for stylemapmap.setNormalStyleUrl( #styleIco

10、nNormal + counter);map.setHighlightStyleUrl( #styleIconHighlight + counter);? / Apply to placemarkplacemark.setStyleUrl( #styleMap + counter);管理地形、道路、边界管理地形、道路、边界当浏览器窗口加载 Google Earth 插件时,地形特征将被作为默认选项被显示,无需手动干预。并不是所有 Google Earth 图层特性被显示出来,如果要在浏览器内显示,那么下列JavaScript 代码将教您怎么做:显示建筑三维模型ge.getLayerRoot()

11、.enableLayerById(ge.LAYER_BUILDINGS, true);隐藏建筑三维模型ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, false);显示边界ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);隐藏边界ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, false);显示地形ge.getLayerRoot().enableLayerById(ge.LAYER_TERRAIN, true);隐

12、藏地形ge.getLayerRoot().enableLayerById(ge.LAYER_TERRAIN, false);KMLKML 分析分析如果您手上有一段 KML 代码,那么就可以让 Google Earth 插件对其进行分析用ge.parseKml 对象把 KML 转换成 JavaScript。示例代码如下:var pentagon = ge.parseKml(+The Pentagon +1 +relativeToGround +-77.05788457660967,38.87253259892824,100 +-77.05465973756702,38.8729101628170

13、3,100 +-77.05315536854791,38.87053267794386,100 +-77.05552622493516,38.868757801256,100 +-77.05844056290393,38.86996206506943,100 +-77.05788457660967,38.87253259892824,100 +-77.05668055019126,38.87154239798456,100 +-77.05542625960818,38.87167890344077,100 +-77.05485125901024,38.87076535397792,100 +-

14、77.05577677433152,38.87008686581446,100 +-77.05691162017543,38.87054446963351,100 +-77.05668055019126,38.87154239798456,100 +);ge.getFeatures().appendChild(pentagon);var la = ge.createLookAt( );la.set(38.867, -77.0565, 500, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 45, 900);ge.getView().setAbstractView(la)

15、;上述代码效果如下图所示:察看模型察看模型Google Earth 插件支持立体模型(三维场景)。把三维模型导入 Google Earth 后,会自动转换格式、旋转角度、伸缩大小,以适应 Google Earth 的坐标系统。下列代码将加载一个 Collada 模型,并将其显示出来。(注:COLLADA 的全名是“COLLAborative Design Activity”,是用来建立 3D 互动程序的一个文件格式,而此格式就叫做“dae”,全名是“digital asset exchange”。COLLADA 主要定义一个开放式的XML Schema 标准。也就是说,你在 3D 软件所建好的模型,只要透过 COLLADA 的外挂软件就可以输出成dae的档案,而这个档案所包含的内容就是以 XML 文字数据的形式来描述的。)placemark = ge.createPlacemark( );placemark.setName( model );model = ge.createModel( );ge.getFeatures().appendChi

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号