学习GE、KML、KMZ笔记

以下的文章和方法都是我在其它网站或者参考书上借鉴的资料,个人整理一下笔记,方便自己和以后能用到的朋友们。

 

加载*.kml/*.kmz文件的方法

var url=http://kml.lover.googlepages.com/my-vacation-photos.kml
var gx=new GGeoXml(url);
map.addOverlay(gx);

 

ApplicationGE:代表的是Google Earth,利用它你可以在你的程序中引入Google Earth 视图窗体

 Dim GEI as ApplicationGE              //打开Google Earth


 Set GEI = CreateObject("GoogleEarth.ApplicationGE")            //获取Google Earth视图窗体句柄


 GE_render_window_handle = GEI.GetRenderHwnd   //将视图窗体句柄传给定义的视图容器(Picture)句柄


SetParent GE_render_window_handle, Picture1.hWnd

RP StreamingProgressPercentage:程序运转的百分比,一般获取到的为100%


 RP TourController:与 Tour 有关的控制


 RP VersionAppType: GE版本,EnterpriseClientGE = 0,  ProGE = 1, PlusGE = 2, FreeGE = 5。


 RP VersionBuild、RP VersionMajor 、 VersionMinor
:GE版本号,例如4.0.2693,其中2693为( VersionBuild ),4为( VersionMajor ),0为( VersionMinor )
RP ViewExtents:获得四个边的经纬度值。

GetCamera
获取GE当前视图,返回CameraInfoGE,参数1为考虑高程,0为不考虑

SetCamera
通过CameraInfoGE设置GE视图

SetCameraParams(lat,lon,alt,altMode,range,tilt,azimuth,speed)
通过设置camera参数设置GE视图,lat、lon(经纬度)alt(高程)altMode(高程模式,绝对高程或者相对)range(视角点与焦点距离)tilt(倾斜角度)azimuth(方位角)speed(0-5)

GetFeatureByName(NameString)
根据名称查找Feature,如果两个名称相同,只能找到第一个。

GetTemporaryPlaces、GetMyPlaces
GE临时目录和MyPlaces目录,可以通过 GetChildren() 继续查找打开文件的名字等。


GetPointOnTerrainFromScreenCoords (screen_x , screen_y (Double))
给出屏幕的点X,Y坐标,转成经纬高三个坐标值,ElevationExaggeration为0时,则高度为0,为1时高度为实际值。

HideDescriptionBalloons、ShowDescriptionBalloon(feature (FeatureGE))  
打开/隐藏地标描述,一般和下面的 SetFeatureView 配合使用。 IsInitialized:是否初始化 IsOnline :是否连上GE

 

Logout 、Login :登陆或者退出

LoadKmlData(kmlData)  
导入完整的KML字符串,必须包含从 <?xml 开始的所有文件内容,而不能只是一个Placemark什么的。

OpenKmlFile(fileName, Messages (Integer))
导入KML/KMZ文件,Messages参数含义是:1 指不提示,0 提示。
就是说如果这个文件已经导入,0就会弹出个对话框,确认是否重新导入。 SaveScreenShot(fileName, quality (Integer))  
给定个文件名,将当前视图存黑白照片


GetMainHwnd、 GetRenderHwnd
前一个是主程序的句柄号,后一个是 GE视窗 的句柄号。

主要属性(获取或设置):

FocusPointLongitude、FocusPointLatitude、FocusPointAltitude:
记录经度、纬度、高度数据
FocusPointAltitudeMode:目前只有 1 (默认)和 2 两种取值,分别对应 KML 格式介绍中的 relativeToGround 和 absolute ,KML 格式中的默认 clampToGround 暂时没有对应值
Range :高度 (0---8万公里) Tilt :倾斜度,以垂直为 0,最大为90度,即地面的切线为最大值。
Azimuth 方位角 (-180---180)

#如何获得当前视角: ApplicationGE.GetCamera(B) B取值True/False或者 1/0也可以,True 更精确。 #如何定义视角: 根据自己的需要,分别定义 1、2、3、4、5。 #如何定位到确定的视角(或者恢复到 已储存的视角) ApplicationGE.SetCamera(CameraInfoGE,速度) 将前面获得的当前视角或者经过定义的视角赋值给 CameraInfoGE ,即可驱动GE转移到该视角。速度取值 0--5,GE默认0.119。


高级应用:结合 GetCamera 、和 SetCamera ,定义好几个转换地点,并合理调整其中的角度、高度、速度等相应值,再加上时间延迟功能,完全可以做出符合自己要求的 Tour 效果,这时候再结合屏幕拷贝软件,就可以制作出相当棒的演示效果。

主要属性:

ReadOnly Property HasView: 
指示<LookAt> 标签,如果没有,HasView =0,有就是1。如果KML文件中没有<LookAt> 标签时,即使已经找到地标,GE也不会自动导航到指定的地标。多数人没有习惯加 <LookAt>标签,所以在调用标签时就会出现有时成功,有时不成功。 ReadOnly Property Highlighted和 方法Highlight:
地标加亮 ReadOnly Property Name  :标签的Name值 ReadOnly Property TimeInterval : 与定时相关
Property Visibility :
对应于KML中的 <Visibility>,0不显示,1显示。

GetChildren: 
标签的包含的子标签
返回值定义到 FeatureCollectionGE 中(多个) GetParent:  标签的父标签(单个)返回值类型为FeatureGE

 

FeatureCollectionGE:标签集类,是 FeatureGE 集合
        ReadOnly Property Item( Integer ):获取标签集中某个标签
        ReadOnly Property Count:获取标签集中标签数

PointOnTerrainGE : 
根据屏幕的点获得的经纬高度值就放在这个类里,可以看作一个数组。
SearchControllerGE  :查询GE内置地址库的查询类(不是查KML文件的)
     Search(searchstring):搜索的内容可以为地标、行车路径等,GE中可以接受的搜索内容
     IsSearchInProgress:检查是否有搜索还在执行中
     GetResults:返回搜索结果,FeatureCollectionGE类
    ClearResults:清空所有搜索结果

ViewExtentsGE (只读):边界集类,可以获得当前屏幕内四个边的经纬度值。

AnimationControllerGE:  针对TimeStamp时间轴的,可以播放、暂停等。
TimeGE:与时间相关属性

TimeIntervalGE

动态加载你自己的KML/KMZ数据

让GE飞到你指定位置

大缩小GE,旋转GE

保存当前窗口为图像文件

获取当前显示区域的经纬度坐标

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值