并不是所有的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是否可用,举例如下:


try {
Class.forName("com.google.android.maps.MapActivity");
//此处写有调用googleMap的方法}
catch (Exception e) {
Toast.makeText(MainActivity.this, "Oop! google地图不可用", Toast.LENGTH_SHORT).show();
此处可以通过网页访问google地图 return;}

浏览器访问google MAP
Uri.parse("http://ditu.google.cn/mapshl=zh&mrt=loc&q=31.249351,121.45905"));

获得google MAP坐标地址
方法一:获得gmap地图上指定位置的坐标,
1 打开 http://ditu.google.com/maps
2 找到你要获得坐标的地点, 指着那个位置,鼠标右键,定位到中心,则自动居中
3 在浏览器栏输入

view sourceprint?
1 javascript:void(prompt('',gApplication.getMap().getCenter()));
4 回车


方法二:通过地址http://maps.google.com/maps?获取坐标,后面接的参数如下:

q 需要进行地址解析的地址

key 申请到的API密钥

output 生成的输出应有的格式,选项有xml,kml,csv或json.

下面的例子将获取深圳市的坐标:
http://maps.google.com/maps/geo?q=%E6%B7%B1%E5%9C%B3&output=xml&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA

另类方法:http://maps.google.com/maps?f=q&geocode=&q=”+你要查找的位置+”&output=js

更多相关文章

  1. Android(安卓)Jni代码示例讲解
  2. Android实现全屏显示的方法
  3. 详解 Android(安卓)的 Activity 组件
  4. android完全退出程序(android退出有多个activity的应用)
  5. android N多窗口和画中画属性
  6. android知识点
  7. Android实现全屏显示的方法
  8. Android系统启动,用过安卓手机的都知道,你还不知道吗?
  9. Android的线程使用来更新UI----Thread、Handler、Looper、TimerT

随机推荐

  1. Android学习资源网站
  2. android 系统关机,重启
  3. Gallery 画廊
  4. android bitmap 处理
  5. Android获取机器显示屏幕的分辨率
  6. android tools命名空间
  7. Android学习资料分享
  8. android 去除ScrollVIew拉到尽头时再拉的
  9. Android圆形进度显示控件的SectorProgres
  10. 关于android生命周期那点事