【问题标题】:Google Maps Marker giving a null reference on Android [duplicate]Google Maps Marker 在 Android 上给出空引用 [重复]
【发布时间】:2018-06-04 17:57:25
【问题描述】:

我需要有关在我的地图上添加 Google 地图标记的帮助。我希望地图显示我的移动设备的当前位置,并且我希望它使用标记显示位置。

现在我遇到的问题是,用于显示设备当前位置的代码与我之前在另一个项目中使用的代码完全相同,并且它在那里工作没有问题,但是当我在这里使用它时,它给了我问题。

下面是我的代码和来自 Logcat 的信息。

代码:

private void displayLocation() {
    try
    {
        // check if permission are granted
        if (ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
                ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)
        {
            return;
        }
        mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
        if(mLastLocation != null)
        {

            final double latitude = mLastLocation.getLatitude();
            final double longitude = mLastLocation.getLongitude();

            // update to the firebase database
            geoFire.setLocation(FirebaseAuth.getInstance().getCurrentUser().getUid(), new GeoLocation(latitude, longitude), new GeoFire.CompletionListener(){
                @Override
                public void onComplete(String key, DatabaseError error) {
                    // add marker to the map
                    if(mUserMarker != null)
                    {
                        mUserMarker.remove(); // removes the already existing marker
                    }

                    mUserMarker = mMap.addMarker(new MarkerOptions()
                            .position(new LatLng(latitude,longitude))
                            .title("You are here"));
                    // move the map camera to the current location of the user
                    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude,longitude),15.0f));

                }
            });
            Log.d("location Updates",String.format("Your location was changed :%f/%f",latitude,longitude));

        }
        else
        {
            Log.d("Location Error","Cannot get your current location");
        }
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }


}

Logcat:

12-22 05:00:53.580 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA:会话开始,时间:16168691 12-22 05:00:53.580 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FA: 记录事件 (FE): session_start(_s), Bundle[{firebase_event_origin(_o)=auto, firebase_screen_class(_sc) =MainActivity,firebase_screen_id(_si)=1529463756370892487}] 12-22 05:00:53.590 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA: 使用测量服务 12-22 05:00:53.590 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA: 连接到远程服务 12-22 05:00:53.600 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FA:连接到远程服务 12-22 05:00:53.600 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA:处理排队服务任务:1 12-22 05:00:55.850 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl: ViewPostImeInputStage processPointer 0 12-22 05:00:55.960 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl: ViewPostImeInputStage 进程指针 1 12-22 05:00:55.970 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl:#3 mView = null 12-22 05:00:56.000 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/Qmage: isQIO : 流不是 QIO 文件 12-22 05:00:56.000 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:56.030 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl:#1 mView = com.android.internal.policy.PhoneWindow$DecorView{cb08adf VE..... R. ....一世。 0,0-0,0} 12-22 05:00:56.070 32403-32656/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) 返回 0x300, [878x327]-格式:1 12-22 05:00:56.080 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/ViewRootImpl: sendUserActionEvent() mView == null 12-22 05:00:56.110 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0 ) 或=1 12-22 05:00:56.140 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl: MSG_RESIZED: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0 ) 或=1 12-22 05:00:57.400 32403-32419/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FirebaseAuth:通知 id 令牌侦听器有关用户 (KHgHwTAdSvWBqpmiJwuyZGCoTy62)。 12-22 05:00:57.400 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FirebaseApp:通知身份验证状态侦听器。 12-22 05:00:57.400 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FirebaseApp:通知 1 个身份验证状态的侦听器。 12-22 05:00:57.420 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl:#3 mView = null 12-22 05:00:57.430 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/时间线:时间线:Activity_launch_request id:bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser 时间:16172541 12-22 05:00:57.460 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/ViewRootImpl: sendUserActionEvent() mView == null 12-22 05:00:57.460 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA:记录用户参与度,女士:13826 12-22 05:00:57.460 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA:活动暂停,时间:16172571 12-22 05:00:57.460 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FA: 记录事件 (FE): user_engagement(_e), Bundle[{firebase_event_origin(_o)=auto,engagement_time_msec(_et) =13826,firebase_screen_class(_sc)=MainActivity,firebase_screen_id(_si)=1529463756370892487}] 12-22 05:00:57.500 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA: onActivityCreated 12-22 05:00:57.660 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/zzbx:动态制作 Creator 12-22 05:00:57.740 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser W/ResourcesManager: com.google.android.gmsoverlayDirs = Null 包的资源 getTopLevelResources 12-22 05:00:57.820 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/Google Maps Android API:Google Play 服务客户端版本:11020000 12-22 05:00:57.830 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/Google Maps Android API:Google Play 服务包版本:11951440 12-22 05:00:58.230 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/Qmage: isQIO : 流不是 QIO 文件 12-22 05:00:58.240 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/AbsListView:获取 MotionRecognitionManager 12-22 05:00:58.240 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/MotionRecognitionManager: mSContextService = android.hardware.scontext.ISContextService$Stub$Proxy@7d123cb 12-22 05:00:58.250 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/MotionRecognitionManager:motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@6f647a8 12-22 05:00:58.250 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/MotionRecognitionManager:motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@6f647a8 12-22 05:00:58.300 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser W/System.err:mkdir 失败:EEXIST(文件存在):/storage/emulated/0/Android/data/bailphoneuser.com .hotdeskdigital.bailphone.bailphoneuser/cache/debug 12-22 05:00:58.300 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser W/System.err:mkdir 失败:EEXIST(文件存在):/storage/emulated/0/Android/data/bailphoneuser.com .hotdeskdigital.bailphone.bailphoneuser/缓存 12-22 05:00:58.310 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:58.320 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:58.350 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 89 12-22 05:00:58.400 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.410 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.540 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.540 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.550 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.550 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.600 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/Location 错误:无法获取您的当前位置 12-22 05:00:58.600 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA:活动恢复,时间:16173714 12-22 05:00:58.600 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FA: 记录事件 (FE): screen_view(_vs), Bundle[{firebase_event_origin(_o)=auto, firebase_previous_class(_pc) =MainActivity, firebase_previous_id(_pi)=1529463756370892487, firebase_screen_class(_sc)=首页, firebase_screen_id(_si)=1529463756370892488}] 12-22 05:00:58.610 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/SecWifiDisplayUtil:元数据值:SecSettings2 12-22 05:00:58.610 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{e53d5b2 IE ..... R. ....ID 0,0-0,0} 12-22 05:00:58.610 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/Choreographer:跳过了 67 帧!应用程序可能在其主线程上做了太多工作。 12-22 05:00:58.670 32403-32656/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) 返回 0x300, [1080x1920]-格式:1 12-22 05:00:58.680 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 108 12-22 05:00:58.720 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.750 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.760 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.770 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.780 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.790 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.790 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/TextView: setTypeface with style : 0 12-22 05:00:58.810 32403-992/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/libEGL:eglInitialize EGLDisplay = 0x7f89604ea8 12-22 05:00:58.820 32403-992/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) 返回 0x3000, [1080x1773]-格式:2 12-22 05:00:58.850 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser W/art: 在 Android 4.1 之前,方法 int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) 会不正确覆盖了 android.widget.ListView 中的包私有方法 12-22 05:00:58.860 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0 ) 或=1 12-22 05:00:58.950 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/location 更新:您的位置已更改:-24,721872/31,223932 12-22 05:00:58.960 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 89 12-22 05:00:58.970 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/location 更新:您的位置已更改:-24,721872/31,223932 12-22 05:00:58.980 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/时间线:时间线:Activity_idle id:android.os.BinderProxy@c5af6d7 时间:16174090 12-22 05:00:58.990 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.000 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.000 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 89 12-22 05:00:59.010 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.010 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.020 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.020 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.020 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 60 12-22 05:00:59.020 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 59 12-22 05:00:59.030 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.030 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.030 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 77 12-22 05:00:59.100 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 114 12-22 05:00:59.110 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 51 12-22 05:00:59.110 32403-32656/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/libEGL:eglInitialize EGLDisplay = 0x7f960f9f08 12-22 05:00:59.120 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/ViewRootImpl:#3 mView = null 12-22 05:00:59.130 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 47 12-22 05:00:59.170 32403-32656/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/libEGL:eglInitialize EGLDisplay = 0x7f960f9f08 12-22 05:00:59.210 32403-32656/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/libEGL:eglInitialize EGLDisplay = 0x7f960f9f08 12-22 05:00:59.240 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 89 12-22 05:00:59.240 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.240 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.240 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 89 12-22 05:00:59.260 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/AndroidRuntime: 关闭 VM 12-22 05:00:59.260 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/UncaughtException: java.lang.NullPointerException: 尝试调用虚拟方法 'com.google.android.gms.maps.model.Marker com.google.android.gms.maps.GoogleMap.addMarker(com.google.android.gms.maps.model.MarkerOptions)' 在空对象引用上 在 bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser.Home$1.onComplete(Home.java:166) 在 com.firebase.geofire.GeoFire$2.onComplete(GeoFire.java:175) 在 com.google.android.gms.internal.rr.run(未知来源) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:7407) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 12-22 05:00:59.260 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FA: 记录事件 (FE): app_exception(_ae), Bundle[{firebase_event_origin(_o)=crash, firebase_screen_class(_sc) =首页,firebase_screen_id(_si)=1529463756370892488,时间戳=1513911659271,致命=1}] 12-22 05:00:59.290 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser V/FA:记录用户参与度,毫秒:690 12-22 05:00:59.290 32403-32603/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser D/FA: 记录事件 (FE): user_engagement(_e), Bundle[{firebase_event_origin(_o)=auto,engagement_time_msec(_et) =690, firebase_screen_class(_sc)=首页, firebase_screen_id(_si)=1529463756370892488}] 12-22 05:00:59.410 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 59 12-22 05:00:59.410 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.410 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.410 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 59 12-22 05:00:59.430 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 60 12-22 05:00:59.430 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.430 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.430 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 60 12-22 05:00:59.490 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser E/AndroidRuntime: 致命异常: main 进程:bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser,PID:32403 java.lang.NullPointerException:尝试调用虚拟方法 'com.google.android.gms.maps.model.Marker com.google.android.gms.maps.GoogleMap.addMarker(com.google.android.gms.maps.model .MarkerOptions)' 在空对象引用上 在 bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser.Home$1.onComplete(Home.java:166) 在 com.firebase.geofire.GeoFire$2.onComplete(GeoFire.java:175) 在 com.google.android.gms.internal.rr.run(未知来源) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:7407) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 12-22 05:00:59.500 32403-1014/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/FirebaseCrash:发送崩溃 12-22 05:00:59.500 32403-1014/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.500 32403-1014/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.510 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 77 12-22 05:00:59.530 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 89 12-22 05:00:59.540 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.540 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.540 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 77 12-22 05:00:59.550 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.550 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/System.out: (HTTPLog)-静态: isSBSettingEnabled false 12-22 05:00:59.550 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid: 使用标签 3000110100000000{805310721,0} uid -1, pid: 32403, getuid(): 10197 标记套接字 89 12-22 05:00:59.650 32403-971/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 59 12-22 05:00:59.660 32403-972/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 60 12-22 05:00:59.800 32403-970/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 89 12-22 05:00:59.860 32403-1014/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/FirebaseCrash:响应代码:200 12-22 05:00:59.860 32403-1014/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/FirebaseCrash:发送的报告带有崩溃报告 ID:769450ec1c000000 12-22 05:00:59.970 32403-969/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/qtaguid:取消标记套接字 77 12-22 05:01:00.390 32403-994/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser W/DynamiteModule:找不到 com.google.android.gms.googlecertificates 的本地模块描述符类。 12-22 05:01:00.400 32403-994/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/DynamiteModule:考虑本地模块 com.google.android.gms.googlecertificates:0 和远程模块 com.google.android.gms。谷歌证书:4 12-22 05:01:00.400 32403-994/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/DynamiteModule: com.google.android.gms.googlecertificates 的选定远程版本,版本 >= 4 12-22 05:01:00.400 32403-994/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser W/系统:类加载器引用未知路径:/data/data/com.google.android.gms/app_chimera/m/00000004/n /arm64-v8a 12-22 05:01:00.400 32403-994/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser W/ResourcesManager: com.google.android.gmsoverlayDirs = Null 包的资源 getTopLevelResources 12-22 05:01:01.510 32403-32403/bailphoneuser.com.hotdeskdigital.bailphone.bailphoneuser I/Process:发送信号。 PID:32403 SIG:9

我这几天一直在寻找解决方案,但我没有成功。我希望我能在这里找到帮助。

【问题讨论】:

    标签: java android google-maps google-maps-markers


    【解决方案1】:

    根据您提供的 logcat 输出,您需要解决的第一件事是您的 mMap 变量为空。

    我的猜测是你要么在 onMapReady(...) 回调被触发之前调用 displayLocation(),要么你的类根本没有能力处理回调。

    如果你使用的是谷歌地图片段,基本做法如下:

    在您的onCreate(...) 方法中:

    ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.mapFragment)).getMapAsync(this);

    确保你的类实现com.google.android.gms.maps.OnMapReadyCallback

    然后,覆盖 onMapReady(GoogleMap googleMap) 方法并设置您的 mMap 变量。

    @Override
    public void onMapReady(GoogleMap googleMap){
    
    mMap = googleMap;
    
    //Do whatever else you need to with the map...
    }
    

    确保在设置之前不要使用mMap,并且您应该能够添加标记并执行其他操作而不会出现问题。

    【讨论】:

    • 嗨。我已经实现了覆盖方法'OnMapReady'
    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    相关资源
    最近更新 更多