我的位置按钮不显示

Mylocation button dont show up

我正在使用 Android Studio 并使用地图 activity 我的地图显示正常,但 activity 中的 Mylocation 按钮不显示。我的 google 播放服务已安装。我做错了什么?

public class MapsActivity extends FragmentActivity {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);

    setUpMapIfNeeded();
    if (mMap != null) {
        mMap.setMyLocationEnabled(true);
    }
}

@Override
protected void onResume() {
    super.onResume();
    setUpMapIfNeeded();
}


    if (mMap == null) {

        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                .getMap();

        if (mMap != null) {
            setUpMap();
        }
    }
}


private void setUpMap() {
    mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
}

}

检查您的 setUpMapIfNeeded() 方法:

Android Google Maps setMyLocationEnabled(true)

您必须在您的代码中添加这一行,替换您的旧代码:

public class MapsActivity extends FragmentActivity {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);

    setUpMapIfNeeded();
    if (mMap != null) {
       //edit this
    }
}

@Override
protected void onResume() {
    super.onResume();
    setUpMapIfNeeded();
}


    if (mMap == null) {

        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                .getMap();
mMap.setMyLocationEnabled(true);//here's the button

        if (mMap != null) {
            setUpMap();
        }
    }
}


private void setUpMap() {
    mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
}

}

此外,您还必须将其添加到您的清单中

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

如果我的回答对你没有帮助,你可以按照这个tutorial一步一步地做:)

如果 Google 地图在 activity/fragment 上可见,则启用 Google 地图上的位置。

  • 创建 Google 映射的实例:

    GoogleMap googleMap;
    

    在实现 LocationListener

  • 的主要 activity 中
  • 在您的代码中添加这一行以查看“我的位置”按钮:

    googleMap.setMyLocationEnabled(true);
    

不要忘记在清单文件中添加权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

更多详情请参考此tutorial