Google Maps API程序的调试非常困难,因为正常情况之下,在本机运行你的网页程序会弹出错误的提示,那应该怎样调试呢?有的用户是在本机编写,上传到服务器上调试,那肯定要影响开发速度了,其实还是有比较好的方法的:
假设你的域名是Step1.cn,从Google申请的Key是ABQIAAAA7nPTPXCvzWYxyKdmbFQfTxRfh1ef-GeSz5gtCVpCKOPebNr1YhR23M_jRfeqAugNMsW3pZQJAwfCFw.
第一种方法是离线使用Google API文件,方法是下载http://maps.google.com/maps?file=api&v=1&key=ABQIAAAA7nPTPXCvzWYxyKdmbFQfTxRfh1ef-GeSz5gtCVpCKOPebNr1YhR23M_jRfeqAugNMsW3pZQJAwfCFw这个JS文件(例如保存为Map.js),并将var _apiHash = '5f87579ff86792cf982d095a4228e3de6cdaf562';这一行注释掉(然后就不会检查key了,注意等号后面的值可能不同),然后你在你的页面之中只要引用这个文件就可以了,这个是第一个方法,这个方法虽然可以用,可是问题是假如Google API文件更新(这是非常经常的事情)了,你的不会随之更新,可能你觉得不更新就算了,可是假如告诉你不更新会造成坐标误差呢?那你就不能不更新了吧?
并不是危言耸听,其实我的网站开始很多时候就是采用离线文件的,后来我发现居然同样的代码在离线和在线JS文件下,显示的位置居然不一样,当缩放级别为1时相差还很大,我估计这是Google防止别人离线使用文件而耍的花招吧,不管怎么样,这样用是不推荐了。
第二种方法是使用服务器端代码了,网页上调用一个动态文件,然后改动态文件根据Host的位置动态的转向到不同的JS文件,如果本机调试呢?就转向到localhost对应的key文件(有没有想到过,localhost的key也是可以申请的,更不用说127.0.0.1等其他的了),比如ASP.NET用以下代码:

2

3

4

5

6

7

8

9

注意,最后的map.js是防备你在本机直接打开网页文件调用的情况,这种情况下Host的名称是空,而Google不允许申请空域名的Key,嘿嘿,这种情况下自动的采用一种方法。
这样你就可以在什么地方打开都没有问题了,而且,假如你的网站有两个域名或多个,也可以正常使用了。