紧跟Nexus S的发布不几天,Google就把革命性的Google Maps 5 for Android放到了菜市场上供下载。新版的应用包含矢量3D和离线两个最炫的功能(当然大陆是没有3D的啦),但是在我的Sprint Hero CDMA上更新后却无法开启这两个功能。很多网友同样也抱怨自己的机器有类似的现象。XDA上的大牛Brut.all给出的解释是一方面Google会根据手机类型、OS、网络所在国家决定一系列功能的开启与否,另一方面,许多旧机器硬件上(包括G1)是具备Multi-Touch功能的,但是被软件给锁住无法开启。
还是XDA最给力,综合了几个大牛的指导,完美的解决方案如下:
- 首先手机必须要提权到root,这个不用多说。
- 接下来完全卸载删掉手机原ROM自带的或者手动安装的Google Maps(去/system/app和/data/app找找)。
- 然后下载安装Brut.all新修改的Maps 5应用。
- 到这里下载多点触摸补丁,解压缩到/system/etc/permissions目录下,并且设置权限为644。删除或者重命名手机里原有的多点触摸xml文件。
- Reboot。
Google太给力了!不过我用WireShark抓包观察过Google Maps for Android与Google服务器之间的交互,尽管走的还是http请求,但是数据全部都是二进制的不可读的,跟Google Maps API完全没有任何交集。也许Google根本不想公开手机端的API。Anyway,现在终于能用上最新的矢量+离线功能了。