我想从许多给定的坐标中找到离我的GPS位置最近的位置
例如:
我有3个坐标,我想把它作为我的目的地放入程序,但我只想去一个离我当前(gps)位置最近的位置。
我正在使用此意图来显示从我的位置到指定位置的方向。
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?f=d&daddr=destcoordinat"));
startActivity(intent);
我可以在此问题中使用意图还是有其他解决方案?
修改
不知怎的,我得到了答案,但我知道有更好的解决方案。 在这里,如果你想知道。*我知道这不是最佳解决方案,因为我必须手动将坐标放入(意图)。
感谢您的回答我真的很感激,但如果您有任何其他解决方案,请在下面评论。
答案 0 :(得分:0)
试试这段代码,
private boolean gps_enabled = false;
private boolean network_enabled = false;
private LocationListener locListener = new MyLocationListener();
LocationManager locManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
try {
gps_enabled = locManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
} catch (Exception ex) {
}
try {
network_enabled = locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
} catch (Exception ex) {
}
// don't start listeners if no provider is enabled
if (!gps_enabled && !network_enabled) {
}
if (gps_enabled) {
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 10, locListener);
}
if (network_enabled) {
locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 10, locListener);
}
class MyLocationListener implements LocationListener {
public void onLocationChanged(Location location) {
currentLocation = location;
}
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
在获取位置时使用此
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr=<start lat>,<start lon>&daddr=<dest lat>,<dest lon>"));
startActivity(intent);