2013-03-05 73 views
1

我试图实现这样的功能,当用户在文本字段中输入地址并单击按钮时,应该将该地址复制到Google地图的目标字段中,并且用户位置应该被设置为“我的位置”(他的当前位置)。Android中的Google地图API

+6

获得设备/用户当前的位置哪里是你的代码? – yarian 2013-03-05 07:11:47

回答

2

为了在Google地图上显示路线,只需调用传递当前和目的地经纬度的意图。如果不知道经纬度,您也可以在任何情况下通过地址。这样做后,其Google Map的作业显示位置。你也可以显示街景。

在下面的代码中,有三个参数:current_lat, current_longi, dest_address

final Intent intent = new Intent(Intent.ACTION_VIEW, 
Uri.parse("http://maps.google.com/maps?" 
+ "saddr="+ current_lat+","+current_longi + "&daddr="+dest_address)); 

intent.setClassName("com.google.android.apps.maps","com.google.android.maps.MapsActivity"); 

startActivity(intent); 

如果有当前地址和目的地址,那么你可以这样写:

Uri.parse("http://maps.google.com/maps?" 
+ "saddr="+curr_address+ "&daddr="+dest_address)); 

如果有当前和目的地纬度和经度都可以这样写:

Uri.parse("http://maps.google.com/maps?" 
+ "saddr="+ current_lat+","+current_longi + "&daddr="+ destt_lat+","+dest_longi )); 

当你打电话给这个意图时,Google Map会显示选择是通过巴士还是步行来画路线。

4

您可以按以下方式打开谷歌地图:

String CURRENT_LOCATION = "current_location_latitude, current_location_longitude"; 
String DESTINATION_LOCATION = "address_from_your_text_view"; 

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://maps.google.com/maps?saddr="+ CURRENT_LOCATION +" daddr="+DESTINATION_LOCATION)); 
startActivity(intent); 

注意:您应该的LocationManager

+0

它像一个魅力工作!堆栈溢出不会让我给你一个加1.我只能说是谢谢你! :) – 2013-03-05 08:59:04

+0

如果在back_press上,我不想显示上方的地图选项(与地图,本地等...), 而是我需要显示以前的活动从哪里被称为? – 2013-03-05 09:57:13

+0

如果您通过意向从您的应用程序/活动启动Google地图应用程序,则您无法控制后退按键 – 2013-03-05 11:22:17