我正在使用Android Studio
并使用地图活动,我的地图显示正常,但活动中的Mylocation
按钮未显示。我的谷歌播放服务已安装。我做错了什么?
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"));
}
}
答案 0 :(得分:0)
选中此setUpMapIfNeeded()
方法:
答案 1 :(得分:0)
您必须在代码中添加此行,替换此代码的旧代码:
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进行操作并逐步执行操作:)
答案 2 :(得分:0)
如果活动/片段上显示Google地图,则启用Google地图上的位置。
创建Google地图的实例:
GoogleMap googleMap;
在实现LocationListener的主要活动中
在代码中添加此行以查看“我的位置”按钮:
googleMap.setMyLocationEnabled(true);
不要忘记在清单文件中添加权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
有关详细信息,请参阅此tutorial。