ACCESS当Google Earth中呈现中美利坚合众国的首都会及飞机场(动态变化KML的Demo)

倍受上次写的“当GoogleEarth上显示等高线”(镜像1,镜像2)的启发,写了个动态实现以GoogleEarth中显示中华城市及飞机场,效果表现顶下的图。也可打开GoogleEarth后,在临时目录上加一个地址也:http://www.sharesh.cn/chinacity/index.asp?
的network
link,或者下载者KML文件:http://files.cnblogs.com/Tangf/ChinaCity.zip(假若利用KML文件打开,暂且发现一个BUG,第一糟打开左侧ChinaCity文件夹可能无更新,需要在左的ChinaCity文件夹上边右键refresh一下,暂时还未曾入手精晓具体由,大概是代码的问题吧,假如知道的贤良请告之一下。其实KML也即是管了一个network
link,只是没受您手工操作罢了)

当是回忆做成中国都与机场气象地图的,但力量有限暂还首发个效用性的预览,前边更添吧。我也终于领会了EEmap的国语导航插件与图拼地球插件(在首页右下角的站点通告被)的规律了,而这时候我是多的艳羡及未知啊。

有关原理为,其实深粗略,就是动态变化KML,不管你使用什么语言来动态变化。KML文件我视大多,但犹是生的公文,无法长删除更新,要翻新则再次生成新的KML文件,所以本着这样的文本我是一贯不此外兴趣之。而现动动态语言至极成KML则彻底解决了这题材,当然这里的关键在于,GE可以拔取viewRefreshMode来让network
link自动刷新。同时,Google Earth的network
link是好回BBOX参数的,而BBOX参数其实反应了GE当前视图中六只角的坐标,那么我们便得遵照范围来动态显示KML了,而未需要五次性全体生成,并且按照经纬度差好给其遵照比例来展现数据。

OK,我们为本文中的ASP文件并弃开GE使用IE浏览器来证实原理。依据达同一段落所说,很扎眼能见到,在无运行代码从前虽然是增长一个network
link的KML(具体KML请圈是连续:http://www.sharesh.cn/chinacity/index.asp?),运行代码将来呢就是是运作GE后就是起来变具体的Point数据(请圈之链接:http://www.sharesh.cn/chinacity/index.asp?BBOX=121,31,121.5,31.5),这是一个经度为121-121.5暨纬度为31-31.5底克(其实呢差不多就是新加坡的主导市区)内生成的KML文件,可以见见出机场、城市和县级市。此外我吗召开了个别控制,3度限量之上无亮数据,只彰显“请放大地图”,3度限初始展现都,2度克起头显得机场,1度限制起首突显显级市,分级呈现有利于地图上不显得的极端多尽烂,所以,假如你用那样的BBOX=120,30,122,32,只可以彰显都了。此外KML也辅助地图样式,在KML的面前半有尽管可以来看样式的KML代码,我特别做成了单独的文本来控制(连接:http://www.sharesh.cn/chinacity/stylemap.asp,直接打开才看看文,假诺查看源文件就可以看到XML格式的数额了)。要点差不多说罢了,不清楚暴发没有起说清楚,我思当也未复杂。

全总经过被发觉的一个稀奇古怪现象是,即使自己弗把第一句子<?xml version=”1.0″
encoding=”UTF-8″?>放在第一履行之说话,GE是心有余而力不足打开动态链接的,并且出示在network
link文件夹中间的小点是深黄色的,为即一个不知不觉的谬误我翻遍了Google都没有找到答案,中间的历程是勤奋的:首先是因为没此外的提醒信息,所以自己无法去Google关键字,于是自己想经过GE的network
link文件夹的例外状态来查原因,可是我哉招来全了Google,翻看了具备GE的KML的课等等,都未曾找到GE的network
link文件夹不同状态的辨证,这无异接触自己当成够昏死的,在就点折腾了自一个大多刻钟。没有主意自身想起有的代码,并当浏览器被连查看,没有此外问题,重开电脑吗深,最终远程到服务器,让他履行省,服务器上的GE是一个低版本的,但打开链接后暴发一个毫不相干痛痒的提拔,好像是说XML什么的,于是复Google,没有外KML和GE的,然而经这么些的摸,在一个英文论坛受到大约是说了眨眼之间间有关头下面的XML先导如从头起初连接什么的,记念自己啊确以是腔被回车了一样履,于是用XML头放在第一执,结果虽真通过了,GE的network
link文件夹也出示绿色的健康图标了,一看时间吧差不多要早上点滴沾了。尽管说最终问题如故解决了,但自莫晓为何自己寻找不至解决这样问题之材料,纳闷为是够晕的。

末不举办总结了,写一下下蛋一致步的打算吧。

1.运用Google weather
api让都市和机场显示天气信息,其实即便是读取和剖析Google提供的气象的XML文件并将内容还协会及description中。
至于Google weather api推荐几篇Google上摸到的篇章:Google Weather
API调用表达
(一收押是多就是知怎么用了,我思用的凡透过坐标的主意来扭转天气预报),使用prototype和GOOGLE的weather
api做天气预报
(一押即是JS加HTML,你若拿代码贴到HTML文件中开拓就可以看到职能了),运GoogleWeather
API查询天气预报
(提供了C#代码),Animaonline
Weather
API
(直接将API封装到dll中,你不怕可以直接用外的API了,还提供了WINCE版本)

倘诺来程序员感兴趣,可以助自己写一个读取天气的function:getWeather(X,Y) as
String,也好让我直接调用。不过自己吗担心长途取weather
XML的进度缓慢而影响整KML生成的速度。

2.而可能,将ASP转换成PHP版本,毕竟PHP+MYSQL的效用要比ASP+ACCESS的频率高多。再说我爆发海外的Dreamhost空间这,不用为是荒废。当然,这篇稿子或是雅好的参考:使用
PHP 和 MySQL 创建
KML

3.既整个流程走通了,这使无做成一个开源之花色?大致分为三独片:
a,数据库结构。数据结构的差异对速吗爆发相当分外之熏陶,并且季到场线和面这字段咋样协会。现在总结才2000基本上修数据,所以用ACCESS也体现不起尽可怜之效能差别。
b,WEB程序。万分给发布平台,那么咋样被平台灵活,比如要有一样近乎的靶子,比如怎么样行使搜索,这多少个可能是前欲考虑的尖端问题。
c,原始数据导入到数据库中。补助通用的MIF/MID、GPX、KML导入到数据库中。顺便也将MIF/MID和GPX和KML的互导也开了好了。

起趣味之对象可在。

4.使谷歌 Earth插件与API在WEB平台上颁发数量,或者做Google Map
API来宣布数据。

牵记多了,但总的来说好走之路途还生丰硕。我这么多年来一向未喜用Google Map
API、GoogleEarth等,至于为啥就是等于自家没事的上又写成想吧,然而经如此的Demo开头为自家好Google的物了,假诺出品种之三结合或者以这该是雅过硬的如出一辙码业务。

ACCESS 1

相关文章