Android: Google Maps app gives black screen after single tap, no error -
currently made app api key setup google maps application.
it launches without error, can't figure out why gives black screen after tapping screen once. if tap twice zooms in. if gives black screen, doesn't crash, since still able open onoptionsitemselected menu.
when black, cant return main map
please proceed
import android.app.activity; import android.app.fragment; import android.os.bundle; import android.util.log; import android.view.menu; import android.view.menuitem; import android.widget.toast; import com.google.android.gms.maps.*; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions; public class mainactivity extends activity { googlemap m_googlemap; streetviewpanorama m_streetview; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); createmapview(); createstreetview(); m_googlemap.setonmapclicklistener(new googlemap.onmapclicklistener() { @override public void onmapclick(latlng latlng) { if (m_streetview != null) { /** * hide map view expose street view. */ fragment mapview = getfragmentmanager().findfragmentbyid(r.id.mapview); getfragmentmanager().begintransaction().hide(mapview).commit(); m_streetview.setposition(latlng); } } }); } private void createstreetview() { m_streetview = ((streetviewpanoramafragment) getfragmentmanager().findfragmentbyid(r.id.streetview)) .getstreetviewpanorama(); } private void createmapview(){ try { if(null == m_googlemap){ m_googlemap = ((mapfragment) getfragmentmanager().findfragmentbyid( r.id.mapview)).getmap(); if(null == m_googlemap) { toast.maketext(getapplicationcontext(), "error creating map",toast.length_short).show(); } } } catch (nullpointerexception exception){ log.e("mapapp", exception.tostring()); } } private void addmarker(){ if(null != m_googlemap){ m_googlemap.addmarker(new markeroptions() .position(new latlng(0, 0)) .title("marker") .draggable(true) ); } } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.main, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { int id = item.getitemid(); if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } } edit 1 added activity_main.xml
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <fragment android:id="@+id/streetview" android:layout_width="match_parent" android:layout_height="match_parent" android:name="com.google.android.gms.maps.streetviewpanoramafragment"/> <fragment android:id="@+id/mapview" android:name="com.google.android.gms.maps.mapfragment" android:layout_width="match_parent" android:layout_height="match_parent"/>
Comments
Post a Comment