【问题标题】:how to add hashmap in google maps android?如何在谷歌地图android中添加hashmap?
【发布时间】:2017-11-17 03:39:44
【问题描述】:

如何添加 hastmap 以从 infowindow 传递数据?

我想使用 mysql 数据库的名称显示从标记到新活动的数据

我想用 hstmap 替换它,这样当用户在标记上按下 infowindow 时我可以提供更多信息

 private void addMarker(LatLng latlng, final String title, final String keterangan) {
    markerOptions.position(latlng);
    markerOptions.title(title);
    markerOptions.snippet(keterangan);
    gMap.addMarker(markerOptions);
    gMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
        @Override
        public void onInfoWindowClick(Marker marker) {
            Intent i = new Intent(Navigator.this, ScrollingActivity.class);
            i.putExtra("title", marker.getTitle());
            i.putExtra("keterangan", marker.getSnippet());
            startActivity(i);
        }
    });
}

【问题讨论】:

    标签: java android google-maps maps


    【解决方案1】:
    //Define hashmap
    private HashMap<Marker, MyMarker>  markerHashMap=new HashMap<>();
    
    //put all markers
    markerHashMap.put(marker,mymaker);
    
    gMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() 
    {
    @Override
    public void onInfoWindowClick(Marker marker){
         if(markerHashMap!=null){
            MyMarker myMarker=markerHashMap.get(marker);
            Intent i=new Intent(Navigator.this,ScrollingActivity.class);
            i.putExtra("title",myMarker.getTitle());
            i.putExtra("keterangan",myMarker.getSnippt());
            startActivity(i);
            }
          }
        });
    }
    
    
    //put your data according your requirement
    public class MyMarker {
        private String title, snippt;
        private double lat, lng;
    
        public MyMarker(String title, String snippt, double lat, double lng) {
            this.title = title;
            this.snippt = snippt;
            this.lat = lat;
            this.lng = lng;
           }
    
        public String getTitle() {
            return title;
        }
    
        public void setTitle(String title) {
            this.title = title;
        }
    
        public String getSnippt() {
            return snippt;
        }
    
        public void setSnippt(String snippt) {
            this.snippt = snippt;
        }
    
        public double getLat() {
            return lat;
        }
    
        public void setLat(double lat) {
            this.lat = lat;
        }
    
        public double getLng() {
           return lng;
        }
    
        public void setLng(double lng) {
          this.lng = lng;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-07-27
      • 1970-01-01
      • 2017-07-06
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-02
      • 1970-01-01
      相关资源
      最近更新 更多