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

在Android谷歌地图中识别点击当前位置标记

封景曜
2023-03-14

在Android版谷歌地图V2中,当用户点击了当前位置标记(蓝色带白色边框)时,最好的识别选项是什么?

我在互联网上找不到任何例子,我能想象的唯一方法是:

googleMap.setOnMapClickListener(new OnMapLongClickListener() {
            @Override
            public void onMapClick(LatLng point) {
                // currentLocation is the location set by onLocationChanged method
                if (currentLocation != null
                            && (currentLocation.getLatitude() == point.latitude
                            && currentLocation.getLongitude() == point.longitude)) {
                        toastIt("Click over current position!");
                    }
            }
        });

共有1个答案

张逸清
2023-03-14

您可以添加用户位置标记并引用其ID:

mUserMarkerId = mMap.addMarker(new MarkerOptions().position(latLng)
                .icon(BitmapDescriptorFactory
                        .defaultMarker(BitmapDescriptorFactory.HUE_BLUE)))
                        .getId();

使用onMarkerClickListener可以检测单击的标记是否为用户标记

mMap.setOnMarkerClickListener(new OnMarkerClickListener() {

        @Override
        public boolean onMarkerClick(Marker marker) {
            if (marker.getId().equalsIgnoreCase(mUserMarkerId))
                // Clicked user marker
            }

            return true;
        }
    });
 类似资料:
  • 我有一张地图,上面有很多自定义的大标记。现在,我希望允许用户在地图上创建路径(显示为折线,稍后保存为地理坐标对列表)。 如果用户单击地图,我可以使用地图的setOnMapClickedListener方法收集这些位置。但是如果用户点击一个标记(setOnMarkerClickedListener),我只能检索标记的位置(通常是标记的ancor的位置)。

  • 当我点击地图上的某个地方,应用程序绘制当前位置和目的地之间的折线(点击)。我希望目标标记是点击自己所有的时间(每几秒钟),所以在用户移动新的折线是绘制(更新最后一个)。

  • 我需要一些帮助来绘制我正在绘制的地图。地图并不特别复杂,因为我是一个初学者,我有一堆带有信息窗口的标记(完成后还会有更多标记),单击标记或选择页面HTML端下拉菜单的相应项时可以打开这些标记。 当信息窗口打开时(在HTML菜单中单击或选择),我想做但自己找不到的是在地图上自动居中标记。我假设有某种函数可以分配给click或infowindow打开事件,但无法确定是哪种函数以及如何实现它。 我的代码

  • 我想使用自定义图标和c标记的地方 重写markerclick函数,并尝试获取该标记的标记,因为我存储在该标记中,在此之前,我使用了.equal方法来测试该标记是否等于该事件标记 我希望当我点击标记应该商店

  • 我想让谷歌地图按地址搜索 下面是我的cari.java代码 我想要的是,当我在editText中写出一条街的名字(例如:第1大道1152号),然后按下搜索按钮,它就会在谷歌地图上显示该位置(第1大道1152号)。 当我运行这个程序时,,,它说 “java.lang.RuntimeException:无法实例化activity ComponentInfo{Udin.GoogleMap2/Udin.G