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();
}
@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:
any help would be appreciated: kenneth.lee.[email protected]
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.