Интеграция карт Google и SlidingMenu
Я хочу реализовать карты Google v2 и SliderMenu из jfeinstein10, мне удалось реализовать SliderMenu, но когда я хочу добавить карту в упражнении, я получаю ошибку
GoogleMap map = ((SupportMapFragment) getSupportFragmentManager (). FindFragmentById (R.id.fragMapa)). GetMap ();
быть более конкретным в 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;
}
*/
}
1 ответ
Мне удалось интегрировать карты Google v2 и SliderMenu из jfeinstein10. Моя активность расширяет 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" />