java - 除了标题和代码 fragment 之外,如何在标记中包含 ID

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

当在 map android studio中添加标记时,我只能输入标题和 fragment 。 如何添加id等其他参数? 我稍后可以在单击标记时获得。

private void addMarker(LatLng latlng, final String title, final String deskripsi, final String id) {
   markerOptions.position(latlng);
   markerOptions.title(title);
   markerOptions.snippet(deskripsi);

   gMap.addMarker(markerOptions);

   gMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
   @Override
       public void onInfoWindowClick(Marker marker) {
           Toast.makeText(getApplicationContext(), marker.getTitle(), Toast.LENGTH_SHORT).show();
       }
   });
}

最佳答案

使用一个 Hashmap 来存储标记和 ID

   private HashMap<Marker, Integer> markerIdMapping = new HashMap<>();


 private void addMarker(LatLng latlng, final String title, final String deskripsi, final String id) {
        markerOptions.position(latlng);
        markerOptions.title(title);
        markerOptions.snippet(deskripsi);

        Marker marker = gMap.addMarker(markerOptions);
        markerIdMapping.put(marker, id);

        gMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
            @Override
            public void onInfoWindowClick(Marker marker) {
                Toast.makeText(getApplicationContext(), marker.getTitle(), Toast.LENGTH_SHORT).show();
                String markerId = markerIdMapping.get(marker);
            }
        });
    }

关于java - 除了标题和代码 fragment 之外,如何在标记中包含 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48534642/

相关文章:

android - 像 facebook 中的按钮集成在 android 中

Android 短信收件箱未读计数问题

android - fragment 内的自定义数字选择器

java - fusedLocationProviderClient 不工作和 MapActivity android

angularjs - (angularjs-google-maps) ng-click 内部标记

c# - Flash 和基于 Java/C# 服务器的应用程序之间的通信

java - 奶牛和公牛代码 - Java

java - 选择相同位置时禁用动画底部导航

java - LibGDX 原始键盘,每个键都有一个监听器

google-maps - 通过坐标获取地形类型