Getting the current location for Google Maps
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
What is the simplest and most robust way to get the user’s current location in Android?
我有以下代码在手机上打开谷歌地图并传递目的地的经度+纬度并开始它的位置。 我想知道是否有一种方法,以便不必手动输入代码的起始位置,如果我们可以改为以某种方式让代码自动找出用户在哪里?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent = new Intent (android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr=" + 51.5171 + "," + 0.1062 +"&daddr=" + 52.6342 +"," + 1.1385)); intent.setComponent( new ComponentName ("com.google.android.apps.maps", "com.google.android.maps.MapsActivity")); startActivity(intent); } }); |
您可以使用此方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public LatLng getLocation(Context ctx) { LocationManager lm = (LocationManager) ctx.getSystemService(Context.LOCATION_SERVICE); List<String> providers = lm.getProviders(true); /* * Loop over the array backwards, and if you get an accurate location, * then break out the loop */ Location l = null; for (int i = providers.size() - 1; i >= 0; i--) { l = lm.getLastKnownLocation(providers.get(i)); if (l != null) break; } return new LatLng(l.getLatitude(),l.getLongitude()); } |
请参阅此问题:获取用户在Android上的当前位置的最简单且最强大的方法是什么?
基本上,一旦获得了您的位置,您可以使用getLatitude(),getLongitude()并将其放入您的网址。
我会推荐一些比getLastKnownLocation更强大的东西,因为它依赖于最后一个已知位置,它可能在几小时甚至几天内都没有更新。 例如,如果你正在度假,这可能是在这个星球的错误一面。
另请参阅http://developer.android.com/guide/topics/location/strategies.html了解更多详情。
您的问题的分步指南:
http://www.androidcompetencycenter.com/?s=GPS
希望这可以帮助