使用setMyLocationEnabled()方法获取我的位置

时间:2013-08-18 11:30:10

标签: android

我正在尝试使用setMyLocationEnabled()方法在地图中获取我的位置。这种方法没有问题,我也使用了setMyLocationButtonEnabled(),一切都很好。

但是当我点击地图上的按钮时,我没有得到表示我所在位置的“蓝点”。

你能告诉我问题是什么吗?

2 个答案:

答案 0 :(得分:0)

setMyLocationEnable不会单独工作。你必须把requestLocationUpdates放在onResume。

      @Override
  public void onResume() {
    super.onResume();
    if (isGPSEnabled) {
        locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, time, distance, this);
        }
        if (isNetworkEnabled) {
            locMgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, time, distance, this);
        }

    map.setLocationSource(this);

  }

答案 1 :(得分:0)

首先,您应该声明一个实现Google.OnMyLocationChangeListener的匿名内部类,或者您可以在主类中实现它。假设您的地图实例名为map。您必须设置监听器,如下所示:map.setOnMyLocationChangeListener(this)。然后,你将不得不做这样的事情:

@Override
public void onMyLocationChange(Location location) //inherited from the interface you implemented
{
//do your thing, the variable "location" holds everything you need
}