gpt4 book ai didi

android - Google Maps Android API v2 创建一个新的 LocationSource

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:37 24 4
gpt4 key购买 nike

LocationSourceGoogle Maps Android API v2 中定义.

它用于 googlemap 作为位置提供程序。默认情况下,位置源由手机上的 gps 模块提供。

但现在我想使用另一个Location source,位置数据会定期发送到android设备。

我不知道如何实现这个接口(interface)。那里有例子吗?任何人都可以帮我吗?该文件没有说明任何内容。

最佳答案

这里是LocationSource接口(interface)的简单实现。就我而言,我正在注册 GPS 和网络位置提供商。正如@CommonsWare 所提到的,实现可能非常取决于您的需要。我建议阅读 official documentation关于位置服务,以便更好地了解如何利用您的需求并节省一些电池电量

public class CurrentLocationProvider implements LocationSource, LocationListener
{
private OnLocationChangedListener listener;
private LocationManager locationManager;

public CurrentLocationProvider(Context context)
{
locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
}

@Override
public void activate(OnLocationChangedListener listener)
{
this.listener = listener;
LocationProvider gpsProvider = locationManager.getProvider(LocationManager.GPS_PROVIDER);
if(gpsProvider != null)
{
locationManager.requestLocationUpdates(gpsProvider.getName(), 0, 10, this);
}

LocationProvider networkProvider = locationManager.getProvider(LocationManager.NETWORK_PROVIDER);;
if(networkProvider != null) {
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000 * 60 * 5, 0, this);
}
}

@Override
public void deactivate()
{
locationManager.removeUpdates(this);
}

@Override
public void onLocationChanged(Location location)
{
if(listener != null)
{
listener.onLocationChanged(location);
}
}

@Override
public void onProviderDisabled(String provider)
{
// TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String provider)
{
// TODO Auto-generated method stub

}

@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
// TODO Auto-generated method stub

}
}

下面是我将如何使用这个类:

protected void setUpMap() {
//init routine
.......

this.map.setLocationSource(new CurrentLocationProvider(this));
.......
}

编辑 请注意,此解决方案已过时!您需要使用 FusedLocationProviderApi连同GoogleApiClient用于跟踪当前位置

关于android - Google Maps Android API v2 创建一个新的 LocationSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14389736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com