Nam*_*arl 5 java android google-maps
在我的应用程序中支持android map apis的最佳方法是什么?
谷歌发布了Android谷歌地图api v2,而v1仍然存在(并且对旧款手机效果更好).
到目前为止,我看到两个scenarii.
我可以使用多个apk功能google play.
google play?关于opengl的支持?这种情况意味着每次我想构建我的项目时,我都必须复制/粘贴一些文件,更新其他可能很麻烦的文件.
除非我使用定制的构建过程(使用ant或maven).
,人们可以利用来实现if/else的语句,包括在manifest文件中的声明都的API.
首先,新的v2 api是基于矢量的,在CPU/GPU上更重(v1 api使用位图图块).
其次,新的v2 api需要opengl 2.0.据说在所有Android设备运行froyo或以后都支持.
不幸的是,事实并非如此.
例如,谷歌游戏/市场无法识别古老的HTC魔术运行姜饼(在自定义ROM上)以支持opengl 2.0.
也许还有更多......
可以使用if/else语句实现那个,包括在清单文件中api的声明.
好吧,你不能在清单中有"if/else语句".
从我的观点来看,基本上有三种情况:
正如您在对另一个答案的评论中所指出的那样,我的场景#1不能与其他两个场景共存,因为您必须拥有<uses-feature>调用OpenGL ES 2.0 的元素.并且,由于Play商店不支持基于OpenGL ES API级别的多个APK文件,因此您无法同时支持场景#1和其他两个场景同一Play商店列表.您必须在Play商店中拥有两个完全独立的应用程序:一个仅使用适用于所有Android设备的Maps V1和一个使用Maps V2的应用程序(回退到其他地方,如地图V1,用于我的场景#2)适用于OpenGL ES 2.0+设备.
另请注意,Maps V1 API密钥在2013年3月3日之后将无法使用.在此之后进行Maps V1开发变得越来越危险,因为如果您的开发环境出现问题,您将无法获得新的API密钥.
基本上,这意味着与以前的方式相比,开发依赖于Google地图的应用程序会以新的和有趣的方式吸收.即使你说你将完全放弃地图V1,也有一些设备属于我的场景#2.希望没有那么多,虽然肯定有一些(例如HTC EVO 3G坐在我附近).应该没有运行Android 3.0及更高版本的设备 - 我很确定OpenGL ES 2.0对Android 3.0来说是一个强硬的要求,Play Store应该放在所有这些设备上(因此,应为所有人提供Google Play服务).
坦率地说,对于一些开发人员来说,最好的答案就是完全抛弃Google的地图,并使用OpenStreetMap或其他具有更高稳定性的东西,如果他们想要支持Android 1.x/2.x设备的话.
| 归档时间: |
|
| 查看次数: |
2654 次 |
| 最近记录: |