在全天消费后,我找到了这个问题的解决方案:
如何使用经度/纬度或使用地址在 InBuilt MAP 中显示从一个当前位置到另一个位置的路线?
愿它对你有所帮助。
答案 0 :(得分:0)
为Button创建布局文件:
<强> layout.xml 强>
<Button
android:id="@+id/showMap"
android:layout_width="@dimen/visit_button_width"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:background="@drawable/login_button_selector"
android:text="@string/title_show_map"
android:textColor="@color/white"
android:textSize="@dimen/button_text_size" />
Button的onClick 事件:
((Button)findViewById(R.id.showMap)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
/* Check Internet Connection */
if(InternetConnection.checkConnection(context))
{
/** PROCESS for Get Longitude and Latitude **/
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
// getting GPS status
isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
Log.d("msg", "GPS:"+isGPSEnabled);
// check if GPS enabled
if(isGPSEnabled){
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location != null)
{
longitude = String.valueOf(location.getLongitude());
latitude = String.valueOf(location.getLatitude());
}
//Add your Full Address Here
String fullAddress = pref.getString("fulladdress", "");
Log.d("msg", ""+fullAddress);
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?f=d&daddr="+fullAddress));
intent.setComponent(new ComponentName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"));
startActivity(intent);
}else{
showAlertforGPS();
}
}else
{
AlertDialog.Builder alertDialog = new AlertDialog.Builder(VisitAcitivity.this);
// Setting Dialog Title
alertDialog.setTitle("Internet Settings");
// Setting Dialog Message
alertDialog.setMessage("Internet Connection Not Available, Do you want to Connect?");
// On pressing Settings button
alertDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
}
});
// on pressing cancel button
alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
// Showing Alert Message
alertDialog.show();
}
}
});
在 AndroidManifest.xml 中添加此权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
您可以询问是否有任何疑问......