文档详情

GoogleMapsAPI离线开发包(测试版).doc

发布:2017-06-08约4.41千字共3页下载文档
文本预览下载声明
Google Maps API离线开发包(没有网络也可以开发Gmap了) 作者:Rover.Tang??来源:博客园??发布时间:2009-02-20 08:43??阅读:3155 次??原文链接?? [收藏]?? 怎 么会去搞一个离线调试包呢,为什么不直接在线调试呢?其实,主要是因为我用了大半年的免费无线被加密了,从此我就开始了我的断网生活,但又想搞点 Google Maps API玩玩,没有网络就不能使用Google Maps API开发了吗?就不能本地脱机离线调试吗?我不甘心。于是就产生了这个离线调试代码包,其实简单的来说,就是将Google Maps API封装的那些JS下载到本地,然后就可以在离线的状态下进行本地调试了。测试了几个晚上,也不能说我的代码包中的JS代码已经下载全,但是至少在本地 调试一些marker和poly等还是OK的,代码包中附带了Google提供的三个例子,最后一个放大镜的例子是蛮没有意思的不建议看(主要是因为本地 没有任何地图,全是抱歉找不到这个缩放区域,所以看不出任何的效果),但另外两个例子是在本地完全可以运行的,一个是地理知识考题,一个是标点画线得到距 离。但是我在测试本地调用kml的时候没有成功,虽然我也已经加载了kmlapi的js文件,这一点可能需要继续研究一下。但是对于mark、poly、 tip等等都是OK的,至少example里就能看出效果来。我还没有怎么用,也没有测试过太多的函数,如果后期发现问题那么以后再来修正吧。 下载地址:GoogleMapsAPI_OfflineDebugPack.rar 那么我们来说说如何得到这个离线调试包,授人以鱼不如授人以渔,当然这里也很简单算不上什么授渔。首先,当然是去Google获取域名的key了, 这个简单的道理不用多说了。然后把该页面中说的简单调用代码完整的保存成html文件,打开这个文件我们就可以看到Google Map了,一个最简单的调用就完成了。一般要想得到别人的东西首先肯定是保存这个页面,没错,我也是这么做的,然后就得到了一个maps文件,其实也就是 下载了Gmap的调用文件,地址:/maps?file=apiamp;v=2amp;key=ABQIAAAALnobdtcQBfcYCnVSCwRHOxS79ylobW1eCJiHSW2SS5sQtpAV3RTgS5_aqQLZwCkEn_OAeso4797XXA, 直接通过浏览器也是可以下载到这个文件的,这个是我的域名所得到的key。将maps文件改名成maps_my.js文件,然后将 script调用的上面带有key的地址换成maps_my.js,重新运行html,发现OK可以运行,并且没有任何问题,但是仅仅依靠这个 maps_my.js文件肯定是不可行的,因为这个js文件又在内部调用了很多的js文件,而Google很厉害的就给你仅仅下载了这么一个js,其余的 js都是通过maps_my.js文件中的js再去调用远程的js,但是你却看不到任何的js文件的明码地址,这其实是有点可恶的。如果仅仅通过 maps_my.js文件离线调用,那么你的运行就仅仅是一个图片样子的内容,无法做任何的操作也看不懂是什么东西。那么我们接下来就是要分析 maps_my.js了。 为了去掉烦人的网站验证,我们首先去开刀Gmap的key认证吧。找到那个alert,就在下面没几行的位置,并且中文提示那么的好找,而 GValidateKey函数其实就是最后的验证,验证不通过就alert了,那么最简单的肯定是要验证通过,将GValidateKey函数前的表示不 等的感叹号去掉,这样就不验证了,至少不会跳出烦人的key注册对话框了,因为我的域名错了反而是让他认证通过,而正确的域名反而不通过。此点在 Google了一下以后有个台湾的网友对此做过一个简单的分析,也是讲如何去掉验证的,不过我想我的这个方法并不是什么正确的方法,因为仅仅将不等于改成 等于来免除alert,而网站的访问是依旧的,就是说域名肯定会返回Google去验证key,只是错误的域名反而通过了验证。由此我在想,Google 本身对网站有多少万的访问请求限制,那么通过这样的方法,是否可以免去这个限制呢,这样你的域名就可以超量访问Google的地图服务器了。虽然我想是如 此,但感觉Google应该不会那么简单。对于此,如果有朋友不想验证域名key的,可以用此方法尝试看看。 继续分析maps_my.js文件,有两个非常显眼的main.js文件,分别位于/intl/zh-CN_ALL/mapfiles/140g/maps2/main.js和/intl/zh-CN_ALL/mapfiles/140g/maps2.api/main.js, 我想这两个应该是主要的对js再
显示全部
相似文档