Android中调用外部地图程序

一、通过geo-uri方式调用外部程序,可以启动google map,百度地图等:

//geo:latitude,longitude
//geo:latitude,longitude?z=zoom,z表示zoom级别,值为数字1到23
//geo:0,0?q=my+street+address
//geo:0,0?q=business+near+city
Uri mUri = Uri.parse("geo:39.940409,116.355257?q=西直门");
Intent mIntent = new Intent(Intent.ACTION_VIEW,mUri);
startActivity(mIntent);

这段代码将会弹出一个对话框,显示所有在initer-filter中注册了geo-uri类型的程序,让用户进行选择,如果我们的程序也需要支持处理geo-uri,可以通过在AndroidMainfest文件中添加如下代码来实现:

<intent-filter android:priority="0" >
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="geo" />
</intent-filter>

效果预览:

Android调用外部地图程序

Android调用外部地图程序


二、通过谷歌地图的MapsActivity:

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://ditu.google.cn/maps?hl=zh&mrt=loc&q=39.940409,116.355257(西直门)"));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK & Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
i.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(i);

上面的代码将会直接启动谷歌地图并显示对应的点,注意,如果设备中没有安装谷歌地图,将会出现ActivityNotFoundException,也可以直接通过下面的代码来让用户选择通过谷歌地图(如果设备中安装了的话),或者通过浏览器来在线显示地图:

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://ditu.google.cn/maps?hl=zh&mrt=loc&q=39.940409,116.355257(西直门)"));
startActivity(i);

效果预览:

Android调用外部地图程序

Android调用外部地图程序

Android开发调用父类通常指的是在子类引用或扩展父类的方法或属性。这在Java语言是常见的做法,因为Android应用是基于Java开发的。使用父类的方法和属性可以实现代码复用,增强程序的模块化,并且可以更容易地扩展和维护程序。下面是一些基本的调用父类的方法: 1. 使用 `super` 关键字来调用父类的方法或属性。例如,如果父类有一个方法 `doSomething()`,子类可以使用 `super.doSomething()` 来调用它。 2. 如果子类重写了父类的方法,并且子类需要在重写的方法调用被重写的父类方法,也可以使用 `super` 关键字。这通常用于在子类方法扩展父类的功能。 3. 如果子类继承了父类的构造方法,那么在子类构造方法,必须使用 `super()` 显式调用父类的构造方法,或者在子类构造方法的第一行,Java编译器会隐式地添加 `super()` 调用。 4. 如果子类和父类有同名的属性,子类也可以使用 `super` 关键字来指定调用父类的属性。 下面是一个简单的例子: ```java public class ParentClass { public void doSomething() { System.out.println("父类的 doSomething 方法"); } } public class ChildClass extends ParentClass { @Override public void doSomething() { // 调用父类的 doSomething 方法,并添加自己的逻辑 super.doSomething(); System.out.println("子类扩展了父类的 doSomething 方法"); } } ``` 在上面的例子,`ChildClass` 的 `doSomething` 方法首先调用了父类 `ParentClass` 的 `doSomething` 方法,然后添加了自己特有的输出。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值