尝试了很长时间......面对problem以获取用户当前的GPS定位。
所以,我想我们是否可以通过预先安装的谷歌地图应用程序Current Location
修复程序以编程方式获取位置修复?
如果我能够获取位置在后台协调..这可能吗?
因此,是否可以通过使用意图或广播接收器以某种方式获取当前位置坐标?(假设地图应用程序正在广播它。 。?)
更新#2:最后......我让它发挥作用..
更新:我之前的代码是here(PasteBin Link)
欢迎任何建议..
感谢..
答案 0 :(得分:2)
Ok codebreaker,这是我实现位置获取器的方式:
// the listener to listen to the locations
private LocationListener listener = null;
// a location manager
private LocationManager lm = null;
// locations instances to GPS and NETWORk
private Location myLocationGPS, myLocationNetwork;
// instantiates fields
lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
myLocationNetwork = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
myLocationGPS = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
listener = new myLocationListener();
// the listener that gonna notify the activity about location changes
public class myLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
// "location" is the RECEIVED locations and its here that you should proccess it
// check if the incoming position has been received from GPS or network
if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
lm.removeUpdates(this);
} else {
lm.removeUpdates(listener);
}
}
@Override
public void onProviderDisabled(String provider) {
lm.removeUpdates(this);
lm.removeUpdates(listener);
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
正如你所看到的,没有太多的诡计。在您实例化侦听器时,您应该会在Android设备的顶部看到GPS图标。此外,无论何时您的位置发生变化(即当您使用设备时),都会调用OnLocationChanged方法。
另外,有趣的是,如果你想要获得位置,有几种方法可以做到这一点,所有这些都有不同的回报速度和不同的精确度。请检查GoogleGLM(对http://www.google.com/glm/mmap的请求,该请求返回带有您位置的json编码的strign)服务,三角测量和网络位置。在上面的片段中,我展示了如何通过GPS和网络获取位置。希望它有所帮助...... :)
答案 1 :(得分:0)
您可以使用被动位置提供程序,但它并不意味着它将从GoogleMaps中获取位置。此外,GoogleMaps应该正在运行以接收更新。 要从GoogleMaps接收位置更新,您还必须拥有ACCES_FINE_LOCATION的权限。此外,您无法启动GoogleMaps并强制其在没有用户互动的情况下更新位置。如果您需要精确的用户位置,除了使用GPS_PROVIDER之外别无他法。
http://developer.android.com/reference/android/location/LocationManager.html#PASSIVE_PROVIDER
您也可以阅读 http://developer.android.com/guide/topics/location/strategies.html http://developerlife.com/tutorials/?p=1375