Android 如何相对于用户当前位置放置标记?

Android 如何相对于用户当前位置放置标记?,android,maps,Android,Maps,大家好,我是Android新手,我正在尝试编写一个应用程序,该应用程序显示一张地图和一个标记,代表相对于平板电脑当前位置的人,就像视频游戏中的HUD一样。一个人的位置以xy坐标表示,因此,如果一个人前面4英尺,左边2英尺,他们的坐标将是-2,4 现在我正试图在当前位置的顶部放置一个标记,但我遇到了一些麻烦。我有地图工作,我已经为当前位置添加了自定义标记和蓝点,但我不能让标记跟随蓝点 private void setUpMap() { View marker = ((LayoutInf

大家好,我是Android新手,我正在尝试编写一个应用程序,该应用程序显示一张地图和一个标记,代表相对于平板电脑当前位置的人,就像视频游戏中的HUD一样。一个人的位置以xy坐标表示,因此,如果一个人前面4英尺,左边2英尺,他们的坐标将是-2,4

现在我正试图在当前位置的顶部放置一个标记,但我遇到了一些麻烦。我有地图工作,我已经为当前位置添加了自定义标记和蓝点,但我不能让标记跟随蓝点

  private void setUpMap() {
    View marker = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.custommarker, null);
    TextView numTxt = (TextView) marker.findViewById(R.id.num_txt);
    numTxt.setText("Dave");
    mMap.setMyLocationEnabled(true);
    double dLatitude =mCurrentLocation.getLatitude();
    double dLongitude = mCurrentLocation.getLongitude();
    markerLatLng = new LatLng(dLatitude, dLongitude);

    customMarker = mMap.addMarker(new MarkerOptions()
            .position(markerLatLng)
            .title("Title")
            .snippet("Description")
            .icon(BitmapDescriptorFactory.fromBitmap(createDrawableFromView(this, marker))));
我错过了什么或做错了什么

这是航海日志

                java.lang.NullPointerException
        at com.google.android.gms.maps.model.LatLngBounds$Builder.include(Unknown Source)
        at com.google.android.gms.location.sample.locationupdates.MainActivity$1.onGlobalLayout(MainActivity.java:398)
        at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:808)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1768)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5481)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
        at android.view.Choreographer.doCallbacks(Choreographer.java:562)
        at android.view.Choreographer.doFrame(Choreographer.java:532)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
        at android.os.Handler.handleCallback(Handler.java:730)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5103)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:525)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
        at dalvik.system.NativeStart.main(Native Method)

标记不是相对的,它们是固定的。如果您希望跟踪用户位置,则必须在用户位置发生变化时进行更新。

谢谢您的回复。我试着在我的onLocationChanged方法中运行上面的代码,但它仍然崩溃,但我会继续尝试如果它崩溃,发布堆栈跟踪。这会给你更多的帮助,你最初的问题没有提到任何崩溃。我知道了,只是需要休息一下。