android - 识别 Android Google map 中当前位置标记的点击

标签 android google-maps-android-api-2

在 Android 版 Google map 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!");
                    }
            }
        });

最佳答案

您可以添加用户位置标记并获取其 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;
        }
    });

关于android - 识别 Android Google map 中当前位置标记的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26712464/

相关文章:

java - 尝试使用 Jsoup 从 Web 抓取动态数据到 Android 应用程序,但没有获取准确的数据

android - 缓存谷歌地图以供离线使用 (api v2)

android - 谷歌地图播放服务库添加报错

android - 通过 XML 旋转可绘制对象不适用于 GoogleMap V2 上的标记

android - 在android中加载数据需要很长时间时出现黑屏

安卓。如何从 Espresso 测试库中滑动 NavigationDrawer?

java - 如何修复共享首选项以保存我的数据并跳过 Activity ?

java - 更改 Google map 旋转轴

java - Google Maps v2 MapFragment 在从后台返回时非常滞后

android - 如何在 Android 模拟器中更新 Google Play 服务