当前位置: 首页 > 知识库问答 >
问题:

在google map Android中拖动标记

阎宝
2023-03-14

我的应用程序中有一个小问题,我可以将标记拖到可见地图上的任何位置。我在stackoverflow上引用了这个答案,在这里我可以通过标记拖动来设置地图的动画。但即使我不把标记放在地图上,它也会自己掉下来。

这是我的代码让它更清楚

    @Override
        public void onMarkerDrag(final Marker marker) 
        {
            final View view = getFragmentManager().findFragmentById(R.id.map).getView();
            if(view.getViewTreeObserver().isAlive())
            {
                view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener()
                {

                    @Override
                    public void onGlobalLayout() 
                    {
                        view.getViewTreeObserver().removeGlobalOnLayoutListener(this);

                        mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder()
                        .target(marker.getPosition()).zoom(13).build()));

                    }
                });
            }


        }
    };

共有1个答案

松建本
2023-03-14

请尝试以下拖动标记代码:-

    map. addMarker(new MarkerOptions().position(new LatLng(lat, lng)).draggable(true));

以及以下获取lat nd lng的方法:-

    map.setOnMarkerDragListener(new OnMarkerDragListener() 
    {
        @Override
        public void onMarkerDragStart(Marker marker) 
        {
            // TODO Auto-generated method stub
        }

        @Override
        public void onMarkerDragEnd(Marker marker) 
        {
            // TODO Auto-generated method stub
            lat     = marker.getPosition().latitude;
            lng     = marker.getPosition().longitude;
        }

        @Override
        public void onMarkerDrag(Marker marker)
        {
            // TODO Auto-generated method stub
        }
     });

阅读本文档下方:-

https://developers.google.com/maps/documentation/android/marker

 类似资料:
  • 问题内容: 因此,正如标题所述,我想在鼠标拖动时移动椭圆。我先声明了椭圆并将其画出(因为我有8个椭圆,它们带有不同的颜色信息。四个是白色,另一个是红色)。我尝试做我对矩形所做的事情: 但这似乎不起作用。它给我一个错误 我有点困惑,因为我已经阅读了文档,并且Ellipse2D.Double存在这样的变量。 这是一个MCVE: 那么是否有替代算法,或者我只是在语法上缺少什么?我想知道解决方案。谢谢。

  • 我正在用谷歌地图在Android上做一个小项目。我有一个问题-它是可能使标记拖动与一次点击它,而不是长按后。例如:我点击标记,它改变了图标,我可以拖动它在地图的任何地方,然后再点击一次,他就不能再拖动了,并且把它的图标改回来了?(即使松开标记器,标记器也必须从第一次点击到第二次点击时始终可拖动)

  • 日安,我想获得我的标记器的新坐标后,我把它们拖到某处。 我试过我的问题的类似问题的解法,但它仍然不起作用。 这是我的代码: 方法 我尝试将.lat()值放入数据中,但它仍然是空的。我怎么解决这个?

  • 我在JavaFX中创建了一个小的绘画程序,并且有了一个圆形创建工具。目前,我可以正确地画圆,但与我的其他工具不同,我看不到正在创建的圆(即,当我拖动鼠标时)。只有当我松开鼠标时,我才能看到圆(以正确的尺寸绘制)。我试图在拖动时添加一个< code>strokeOval()方法,但是它创建了一个奇怪的“泪珠”状的圆。我什么都试过了,有人能帮忙吗? 这是我的代码: 上面的代码正确创建了圆,但在我释放鼠

  • 构造函数方法: PaintComponent方法和MouseDlold、MousePressed和MouseReleased方法:

  • 问题内容: 我在JLabel中有一个图像。 我想要以下功能。 -我单击JLabel内部的位置(在图像上)。 -按下鼠标按钮,即可更改JLabel中图像的位置。(我将图片拖到JLabel中的不同位置) 好吧,这意味着在许多情况下,图片将被裁剪并且在视野之外。 请告诉我如何实现此功能? 什么是要添加到我的JLabel的正确事件监听器? 问题答案: 这是一个基本的例子… 通过将标签划分为3x3网格来工作