原文链接:http://www.cnblogs.com/gansc23/archive/2011/02/28/1967207.html
在开发应用的过程中,发现部分厂商的部分机器并没有内置Google Map服务(system/framework下缺少文件com.google.android.maps.jar)导致安装调用Google Map服务的部分机器会出现failure install_failed_missing_shared_library。从网上找到部分解答:
并不是所有的Android真机中都带有Google Map add-on,要想内置Google Map add-on是需要和google商谈的。
但是若我们开发一个使用到了Google Map add-on的Android应用程序(即使用了<uses-library android:name="com.google.android.maps" />),就会发现这个程序不能成功安装在没有内置Google Map add-on的真机中,那么我们有什么办法来解决这个问题呢?
方法有两个:
1)维护两条代码分支:
一条分支是针对于内置有Google Map add-on的Android真机,另一条分支是没有内置有Google Map add-on的Android真机。
但是这样做会增加维护成本,而且粗心的用户可能会在自己的机器上安装了不匹配的分支,从而降低了软件的友好度。
2)仍然只保留一条代码分支:
国外一位大牛指出:在<uses-library>标签中还包含了一个没有公布的属性"android:required",你可以将com.google.android.maps库的这个属性设置为false,即:
<!-- The "android:required" attribute was added in API level 5 (Android 2.0) -->
<uses-library android:name="com.google.android.maps" android:required="false" />
这代表如果在目标机器上内置了Google Map add-on,则可以正常使用应用;如果目标机器没有内置Google Map add-on,也可以成功安装应用。但是开发人员需要在代码中自行判断Google Map add-on是否可用,举例如下:
Class.forName("com.google.android.maps.MapActivity");
} catch (Exception e) {
Toast.makeText(MainActivity.this, "Oop! google地图不可用", Toast.LENGTH_SHORT).show();
return;
}
Intent intent =new Intent();
intent.setClass(MainActivity.this, MyMapActivity.class);
startActivity(intent);
参考:
[1] http://stackoverflow.com/questions/3909903/disable-mapview-if-it-is-not-supported
[2] http://androidforums.com/application-development/140147-does-all-android-devices-support-map-api.html
相关推荐
总的来说,地图选择及地图偏移解决方案是GIS开发的关键环节,确保了地图数据在不同环境下的正确显示和计算。对于开发者来说,理解并掌握这一领域的知识是创建高效、准确的地图应用的必备条件。通过深入研究相关源码...
标题“地图选择及地图偏移解决方案(一)”暗示了我们即将探讨的是关于地图应用开发中的一个重要主题,即如何在不同的地图平台之间进行选择,并处理地图显示时可能出现的偏移问题。这通常涉及到地理信息系统(GIS)...
百度地图偏移解决方法与高德地图偏移解决方法类似,也是基于数据库查询的方式。但是,百度地图的数据库查询规则不同于高德地图。百度地图的数据库需要保留小数点两位查询。 技术实现 要实现地图偏移解决方法,需要...
在互联网地图服务领域,为了保护自身的数据安全及防止地图数据被非法利用,许多地图服务商如Google Maps等会采用一种称为“加密偏移”(也称为坐标偏移或地图偏移)的技术手段来对公开的地图坐标进行加密处理。...
因此,针对Google和百度地图的GPS纠偏解决方案涉及到获取和应用偏移数据。对于精度为0.01的方案,大约有3000万条记录,适用于百度地图;而对于精度为0.001的高精度方案,有近9亿条记录,适用于谷歌地图,可以达到...
Google baidu 地图 gps偏移(经纬度偏移)的技术纠偏解决方案 讲解如何通过官方API实现0偏移 不要相信网上的数据库或者算法之类的,感觉都有些扯淡,并且超级影响系统性能,通过官方的解决方案更完美,更稳定
在百度、谷歌、soso、等地图上,对经纬度偏移进行正确的纠偏的最佳技术解决方案,内容包含技术解决与相关获取资料方式!
google地图经纬度偏移修正算法完美解决方案.doc
总的来说,解决矢量地图与卫星地图叠加偏移的问题需要根据具体需求选择合适的方法。方案一适合对坐标精度有较高要求的场景,而方案二则适用于注重视觉效果和叠加速度的情况。在实践中,可以根据项目特点和可用资源...
GPS偏移权威技术解决方案是中国GPS开发和互联网项目开发中不可或缺的一部分,解决了经纬度偏移问题,提高了GPS导航和地图应用的可靠性和准确性。 在国家保密插件和纠偏数据库的基础上,我们还可以提供更多的解决...
在OpenLayers 7中,集成百度地图作为瓦片图层时,可能会遇到地图显示偏移的问题。这主要是因为OpenLayers采用的是WGS84坐标系,而百度地图...这个解决方案适用于那些希望在OpenLayers项目中使用百度地图数据的开发者。
1. **SuperMap**:SuperMap是一款中国自主研发的GIS软件,提供从数据采集、处理、管理到分析、发布、共享的全套解决方案。在本项目中,SuperMap作为基础平台,提供了丰富的地图服务和二三维一体化的能力,使得用户...
在IT行业中,地图匹配是一项关键的技术,特别是在交通监控、导航系统和位置服务等领域。本项目主要涉及使用Python编程语言来处理GPS...通过深入理解这些概念和技术,可以为开发高效、准确的地图匹配解决方案提供基础。
本篇文章将详细讲解如何完美解决这个问题,并提供获取已聚合点位的接口方案。 首先,我们需要了解百度地图API中的marker和label。Marker是地图上表示地理位置的图标,而label则是附加在marker上的文本,用于显示更...
CMaps-中国国行安卓手机使用Google地图服务解决方案
在本文中,我们将深入探讨如何在Echarts 3D地图中实现数据散点下陷的效果。Echarts是一款基于JavaScript的数据可视化库,它提供了丰富的图表类型和强大的交互功能。Echarts 3D模块则进一步扩展了其能力,允许我们在...
在该项目中,`GMap.sln`是解决方案文件,包含了整个项目的所有配置和依赖。`GMap.v12.suo`和`GMap.suo`是Visual Studio的用户选项文件,存储了开发者在使用IDE时的个性化设置和调试信息。`GMap.Net`目录下是库的核心...
在Android开发中,地图是一个非常重要的功能,尤其在...通过`axisoffset.dat`、`ModifyOffset.java`和`Demo.java`这三个文件,开发者可以构建一个完整的解决方案,确保在中国境内的地图应用能够提供精确的定位服务。