当前位置: 代码迷 >> Android >> 练习,下了百度mapSDK,然后做完后发现菜单没了,求懂得教下,拜托了
  详细解决方案

练习,下了百度mapSDK,然后做完后发现菜单没了,求懂得教下,拜托了

热度:16   发布时间:2016-04-28 02:14:57.0
练习,下了百度地图SDK,然后做完后发现菜单没了,求懂得教下,拜托了
这几天下了百度地图的SDK,自己做练习学习android。然后做完之后,总共两个activity,一个是文字定位,就普通的获取,通过菜单的地图显示进入地图定位,同样设置菜单有两个选项,我的位置和返回。但是到了地图定位Activity时,菜单却没了,怎么都弄不出来,不懂了。求教
第一个文字定位如图:

进入地图定位后如图:我怕是因为地图太大盖住了,所以特地上下都空出40DP:

代码如下(网上看别人视频里代码改的,其实百度自己也有demo,都差不多):
public class MapActivity extends Activity {
 private MapView mapView;
 private BaiduMap mBaiduMap;
 private Context context;
 //定位相关
 private LocationClient mLocationClient;
 private MyLocationListener mLocationListener;
 private boolean isFirstIn=true;//设置是否为第一次进入,是的话置中心点为用户位置
   private double mLatitude;
   private double mLongtitude;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
      super.onCreate(savedInstanceState); 
      requestWindowFeature(Window.FEATURE_NO_TITLE);
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.activity_map);
        this.context=this;
initView();
//初始化定位
      initLocation();
}
private void initLocation() {
mLocationClient=new LocationClient(this);
mLocationListener=new MyLocationListener();
//对监听器进行注册
mLocationClient.registerLocationListener(mLocationListener);
LocationClientOption option=new LocationClientOption();
option.setCoorType("bd09ll");
option.setIsNeedAddress(true);
option.setOpenGps(true);
option.setScanSpan(5000);
option.setNeedDeviceDirect(true);
//采用option所设置的内容
mLocationClient.setLocOption(option);
}
private void initView() {
mapView=(MapView)findViewById(R.id.map_view);
mBaiduMap=mapView.getMap();
//设置地图放大倍数
MapStatusUpdate msu=MapStatusUpdateFactory.zoomTo(15.0f);
//改变地图变化
mBaiduMap.setMapStatus(msu);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
//定位允许为可以,定位没开启则开启
mBaiduMap.setMyLocationEnabled(true);
if(!mLocationClient.isStarted())
mLocationClient.start();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
mapView.onResume();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
mapView.onPause();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
//停止定位允许
mBaiduMap.setMyLocationEnabled(false);
mLocationClient.stop();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mapView.onDestroy();
}

  public class MyLocationListener implements BDLocationListener{

@Override
public void onReceiveLocation(BDLocation location) {
MyLocationData data=new MyLocationData.Builder()//
.accuracy(location.getRadius())//
.latitude(location.getLatitude())//
.longitude(location.getLongitude()).build();
mBaiduMap.setMyLocationData(data);
// MyLocationConfiguration config =new MyLocationConfiguration(LocationMode.NORMAL, arg1, arg2);
mLatitude=location.getLatitude();
mLongtitude=location.getLongitude();
if(isFirstIn){
LatLng latLng=new LatLng(location.getLatitude(),location.getLongitude());
MapStatusUpdate msu=MapStatusUpdateFactory.newLatLng(latLng);
mBaiduMap.animateMapStatus(msu);
isFirstIn=false;
Toast.makeText(context, location.getAddrStr(), Toast.LENGTH_SHORT).show();
}

}
  
  }

@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 1, R.string.backMyLocation);
menu.add(0, 2, 2, R.string.back);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
centerToMyLocation();
break;
case 2:
onStop();
Intent intent=new Intent();
intent.setClass(MapActivity.this, MainActivity.class);
MapActivity.this.startActivity(intent);
break;
default:
break;
}
return true;
}
//点击后定位到自己位置
private void centerToMyLocation() {
LatLng latLng=new LatLng(mLatitude,mLongtitude);
MapStatusUpdate msu=MapStatusUpdateFactory.newLatLng(latLng);
mBaiduMap.animateMapStatus(msu);
}


}

不懂错在哪里了,为什么没有menu选项了。希望大神指导啊
------解决思路----------------------
 requestWindowFeature(Window.FEATURE_NO_TITLE);
这个设置了无标题样式,删掉的应该就有菜单了
位置在你的oncreate里
------解决思路----------------------
楼上正解,你没必要上面空出来的。下面空出来的原因是什么?
  相关解决方案