代码很简单,给按钮的监听器里面加:
button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent( Intent.ACTION_VIEW, Uri .parse("http://ditu.google.cn/maps?hl=zh&mrt=loc&q=31.249351,121.45905")); startActivity(i); } });
这样做的缺点是,跳出了自己应用程序的Activity,到google地图(比如)的Activity了,无法在之上设定自己的Overlay,或者增加控制返回自己应用程序的按钮。
使用google地图,界面等更友好一些,比如menu按钮。浏览器的按钮偏小,按着不方便。
也可以强制使用谷歌地图打开,需要增加:
Intent i = new Intent( Intent.ACTION_VIEW, Uri .parse("http://ditu.google.cn/maps?hl=zh&mrt=loc&q=31.249351,121.45905")); 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);
在编写android对google地图的调用上稍作改动,就可以实现生成行车路线的功能。
比如要从上海火车站到世博会国家馆。我们现在知道两个地点的经纬坐标,那么只需:
Uri .parse("http://ditu.google.cn/maps?f=d&source=s_d&saddr=31.249351,121.45905&daddr=31.186371, 121.489885&hl=zh"));