0

i can't understan why:

1) the LogCat doesn't show me nothing about the line: googleMap.setMyLocationEnabled(true); that causes the crash of the application (AndroidStudio as well suggests me that this line:

Call requires permission which may be rejected by the user: code should explicity check to see if permission is available (with checkPermission) or explicitly handle a potential "SecurityException"...

2) if i put a breakpoint inside

@Override
public void onMapReady(GoogleMap mMap) {

i can't reach that point (F7/F8) what key have i use to jump to the "next breakpoint" (no the "next line")

[MapViewFragment.java]

package com.pinale.androidbeaconclient;

import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.MapsInitializer;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

//https://stackoverflow.com/questions/19353255/how-to-put-google-maps-v2-on-a-fragment-using-viewpager

public class MapViewFragment extends Fragment {

    MapView mMapView;
    private GoogleMap googleMap;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_mapview,
                container, false);

        mMapView = (MapView) rootView.findViewById(R.id.mapView);
        mMapView.onCreate(savedInstanceState);


        mMapView.onResume(); // needed to get the map to display immediately

        try {
            MapsInitializer.initialize(getActivity().getApplicationContext());
        } catch (Exception e) {
            e.printStackTrace();
        }

        mMapView.getMapAsync(new OnMapReadyCallback() {
            @Override
            public void onMapReady(GoogleMap mMap) {
                googleMap = mMap;

                googleMap.setMyLocationEnabled(true);  //this line causes the crash and nothing is showed in the logcat (is it needeed setting something to have a more accurate level of "tracing" in logcat and show everthing?)

                // For dropping a marker at a point on the Map
                LatLng sydney = new LatLng(-34, 151);
                googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker Title").snippet("Marker Description"));

                // For zooming automatically to the location of the marker
                CameraPosition cameraPosition = new CameraPosition.Builder().target(sydney).zoom(12).build();
                googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
            }
        });

        return rootView;
    }

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }

    @Override
    public void onResume() {
        super.onResume();
        mMapView.onResume();
    }

    @Override
    public void onPause() {
        super.onPause();
        mMapView.onPause();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        mMapView.onDestroy();
    }

    @Override
    public void onLowMemory() {
        super.onLowMemory();
        mMapView.onLowMemory();
    }
}

[fragment_mapview.xml]

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.google.android.gms.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

and the apikey in the AndroidMainifest.xml

<meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="AIzaSyXXObaOicyRoqd9mOlxHYWe9-_VqnTTLuU" />
pinale
  • 2,060
  • 6
  • 38
  • 72
  • "code should explicity check to see if permission is available (with checkPermission)" This tells you exactly what you need to do. If you do not know how to use `checkPermission()` then you should read the docs or google it. – Code-Apprentice Aug 16 '17 at 13:52
  • You should put a break point on the first line **inside** a method. Breaking on the method signature will not work since it never actually executes. – Code-Apprentice Aug 16 '17 at 13:54
  • Code-Apprentice ok you're right but woudn't be something written in the logcat , something like securityexception on not allowed operation on something similar? – pinale Aug 16 '17 at 14:05
  • Do you get "unfortunately your app has stopped"? – Code-Apprentice Aug 16 '17 at 14:11

0 Answers0