Android-maps-utils: null object reference ?

Created on 4 Nov 2016  路  4Comments  路  Source: googlemaps/android-maps-utils

Summary:

  kmlLayer.addLayerToMap()

Expected behavior:

I was expecting it to parse the KML file?

Observed behavior:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.1234, PID:
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.maps.model.Marker com.google.android.gms.maps.GoogleMap.addMarker(com.google.android.gms.maps.model.MarkerOptions)' on a null object reference
at com.google.maps.android.kml.KmlRenderer.addPointToMap(KmlRenderer.java:542)
at com.google.maps.android.kml.KmlRenderer.addToMap(KmlRenderer.java:497)
at com.google.maps.android.kml.KmlRenderer.addPlacemarkToMap(KmlRenderer.java:335)
at com.google.maps.android.kml.KmlRenderer.addContainerObjectToMap(KmlRenderer.java:373)
at com.google.maps.android.kml.KmlRenderer.addContainerGroupToMap(KmlRenderer.java:357)
at com.google.maps.android.kml.KmlRenderer.addLayerToMap(KmlRenderer.java:217)
at com.google.maps.android.kml.KmlLayer.addLayerToMap(KmlLayer.java:73)
at com.squareapace.cdltools.usacdltools.MapLocationActivity.onMapReady(MapLocationActivity.java:121)
at com.google.android.gms.maps.SupportMapFragment$zza$1.zza(Unknown Source)
at com.google.android.gms.maps.internal.zzt$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:387)
at yd.a(:com.google.android.gms.DynamiteModulesB:82)
at maps.ad.t$5.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
W/f: Suppressed StrictMode policy violation: StrictModeDiskReadViolation


39.554 21678-21678/com.12343 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.s1234, PID: 21678
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.maps.model.Marker com.google.android.gms.maps.GoogleMap.addMarker(com.google.android.gms.maps.model.MarkerOptions)' on a null object reference
at com.google.maps.android.kml.KmlRenderer.addPointToMap(KmlRenderer.java:542)
at com.google.maps.android.kml.KmlRenderer.addToMap(KmlRenderer.java:497)
at com.google.maps.android.kml.KmlRenderer.addPlacemarkToMap(KmlRenderer.java:335)
at com.google.maps.android.kml.KmlRenderer.addContainerObjectToMap(KmlRenderer.java:373)
at com.google.maps.android.kml.KmlRenderer.addContainerGroupToMap(KmlRenderer.java:357)
at com.google.maps.android.kml.KmlRenderer.addLayerToMap(KmlRenderer.java:217)
at com.google.maps.android.kml.KmlLayer.addLayerToMap(KmlLayer.java:73)
at com.squareapace.cdltools.usacdltools.MapLocationActivity.onMapReady(MapLocationActivity.java:121)
at com.google.android.gms.maps.SupportMapFragment$zza$1.zza(Unknown Source)
at com.google.android.gms.maps.internal.zzt$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:387)
at yd.a(:com.google.android.gms.DynamiteModulesB:82)
at maps.ad.t$5.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
11-04 15:03:39.554 21678-23212/com.1234s W/f: Suppressed StrictMode policy violation: StrictModeDiskReadViolation
11-04 15:03:39.554 782-799/? W/ActivityManager: Force finishing activity c


@Override
public void onMapReady(GoogleMap googleMap)
{
mGoogleMap=googleMap;
mGoogleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);

    //Initialize Google Play Services
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.ACCESS_FINE_LOCATION)
                == PackageManager.PERMISSION_GRANTED) {
            buildGoogleApiClient();
            mGoogleMap.setMyLocationEnabled(true);
        }
    }
    else {
        buildGoogleApiClient();
        mGoogleMap.setMyLocationEnabled(true);
    }

    mGoogleMap.setTrafficEnabled(true);

    try {
        kmlLayer.addLayerToMap();
    } catch (IOException e) {
        e.printStackTrace();
   } catch (XmlPullParserException e) {
        e.printStackTrace();
    }

}//end curly brace onMapReady

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map_location);
mapFrag = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);

    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        checkLocationPermission();
    }

    mapFrag.getMapAsync(this);

    try {
        kmlLayer = new KmlLayer(mMap, R.raw.parking, getApplicationContext());
    } catch (XmlPullParserException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
} //end onCreate curly brace

Device and Android version:

What make and model device = Samsung Galaxy S5
Android version Ice Cream Sandwich

I am confused on how to add this into a project:


com.google.maps.android
android-maps-utils-apklib
0.4+
apklib

any help would be appreciated: kenneth.lee.[email protected]

stale

All 4 comments

I had this problem, and after many days I found a solution by adding android:hardwareAccelerated="true" to my MapsActivity on AndroidManifest.xml

Example:

<activity
            android:name=".MapsActivity"
            android:configChanges="orientation"
            android:hardwareAccelerated="true"
            android:screenOrientation="portrait" />

@felipheggaliza i tried ur solution bt its not working
Error:-Attempt to invoke virtual method 'void com.google.android.gms.maps.MapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' on a null object reference
thank you

This issue has been automatically marked as stale because it has not had recent activity. Please comment here if it is still valid so that we can reprioritize. Thank you!

Closing this. Please reopen if you believe it should be addressed. Thank you for your contribution.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bedzinsa picture bedzinsa  路  7Comments

DanielCFreitas picture DanielCFreitas  路  6Comments

syedalibumpin picture syedalibumpin  路  5Comments

TatyanaRTB picture TatyanaRTB  路  3Comments

vardaan picture vardaan  路  6Comments