krpano 1.18
在讨论代码的编写前,我们说说为什么用必应地图和谷歌地图。首先必应地图本身有必应地图中文版。同时谷歌也有谷歌地图的中文版,也就是这两家都针对中国专门出了与通用版不同的版本。保证我们不用翻墙就能顺利访问。而谷歌地图目前是推html5的,需要申请key的。也就是说如果你的krpano项目压根都禁止了Flash viewer,你直接就可以用了。只需要将api的地址指向中文版(本教程会说明)。但如果你要有flash的支持,就目前的话,最简单的方法就是使用chen4490改后的必应地图SWF插件。也就是说,我们现在是混搭着用,flash端用必应地图,HTML5端用谷歌地图。
点击下图左下方地球按钮观看地图示例。
- 首先,要明确的是你首先要购买了krpano的地图插件,官网售价是29欧元。
- 其次,你要到网上申请必应地图的API,请看图文详解。
- 最后,下载chen4490的插件 链接:http://pan.baidu.com/s/1ntiua73 密码:21z2
我们以默认的官网皮肤做说明。
当vtour文件夹生成后,我们把上面第三步下载下来的在1.17的插件bingmaps.swf拷贝到vtour下的plugins文件夹。
然后我们打开tour.xml,将我们申请到的必应地图的密钥填写到maps_bing_api_key,如下图
然后我们把maps_type改成如上图所示的:
1 2 |
maps_type.flash="bing" maps_type.html5="google" |
这两行的代码就实现了flash下用必应,而html5下用谷歌。因为我们刚才已经拷贝了改造的必应地图插件,因此这时候已经可以在服务器环境中访问必应地图中文版了。当然是在Flash下。接下来我们打开vtourskin.xml。找到
1 |
<layer name="skin_map" state="closed" url="" visible="false" align="lefttop" width="100%" height="50%" x="0" y="0" zorder="1" lat="0" lng="0" zoom="10" bgalpha="0" maptype="normal" onmapready="skin_addmapspots();" > |
改成
1 |
<layer name="skin_map" state="closed" url="" visible="false" align="lefttop" width="100%" height="50%" x="0" y="0" zorder="1" lat="0" lng="0" zoom="10" bgalpha="0" maptype="normal" onmapready="skin_addmapspots();" mapsapi.html5="http://ditu.google.cn"> |
实际上就是加了一句
1 |
mapsapi.html5="http://ditu.google.cn" |
这样的话,在html5端,就会调用中国版的api地址了。剩下的事情就是各个scene的lat、lng、heading中设置经纬度和方位了。