0

我想实现 Google maps v2 和 jfeinstein10 的 SliderMenu,我设法实现了 SliderMenu 但是当我想在活动中添加地图时,我得到了错误

GoogleMap 地图 = ((SupportMapFragment) getSupportFragmentManager (). FindFragmentById (R.id.fragMapa))。获取地图();

在 getSupportFragmentManager () 中更具体

任何集成两者的解决方案。我把活动的代码。

import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.Fragment;

import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivity;

public class ActivityPrincipal extends SlidingActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_activity_principal);

        GoogleMap mapa = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.fragMapa)).getMap();

        LatLng coordenadasGT = new LatLng(15.45368,-90.485115);
        CameraPosition camPos = new CameraPosition.Builder()
        .target(coordenadasGT)
        .zoom(8)
        .build();

        CameraUpdate camUpd = CameraUpdateFactory.newCameraPosition(camPos);

        mapa.moveCamera(camUpd);
    }

    /*
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_principal, menu);
        return true;
    }
    */

}
4

1 回答 1

1

我设法集成了 Google maps v2 和 jfeinstein10 的 SliderMenu。我的 Activity 扩展了 ActionBarActivity 并且我通过以编程方式构建它来使用滑块菜单:

    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.main);

            SlidingMenu menu = new SlidingMenu(this);
            menu.setMode(SlidingMenu.LEFT_OF);
            menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
            menu.setFadeDegree(0.35f);
            menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
            menu.setMenu(R.layout.options);
            menu.setShadowDrawable(R.drawable.shadow);
            menu.setShadowWidthRes(R.dimen.shadow_width);
            menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
            menu.setFadeDegree(0.35f);
            menu.setOnOpenedListener(this);

            FragmentManager fmanager = getSupportFragmentManager();
            Fragment fragment = fmanager.findFragmentById(R.id.mapView);
            SupportMapFragment supportmapfragment = (SupportMapFragment) fragment;

            mMap = supportmapfragment.getMap();
            mMap.getUiSettings().setZoomControlsEnabled(false);
            mMap.setOnMapClickListener(this);
            mMap.setOnInfoWindowClickListener(this);
            mMap.setOnMarkerClickListener(this);
            mMap.setMyLocationEnabled(true);
            mMap.setOnMyLocationChangeListener(this);
            mMap.setOnMyLocationButtonClickListener(this);
    }

mapView 是我布局中的一个片段:

<fragment
            android:id="@+id/mapView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            class="com.google.android.gms.maps.SupportMapFragment" />
于 2013-10-02T21:12:59.877 回答