【问题标题】:Android Google Maps onMarkerClick (Button) doesn't workAndroid Google Maps onMarkerClick(按钮)不起作用
【发布时间】:2015-04-27 16:48:42
【问题描述】:

我正在尝试单击 Google 地图的“窗口”,但我的按钮不起作用,我认为这是处理程序的问题,因为它被封装了“@listener”(android 无法正常工作)但我具体不知道。

我要点击的代码在这里:

googleMap.setInfoWindowAdapter(new InfoWindowAdapter() {

    // Use default InfoWindow frame
    @Override
    public View getInfoWindow(Marker arg0) {
        return null;
    }

    // Defines the contents of the InfoWindow
    @Override
    public View getInfoContents(Marker arg0) {
        View v = getLayoutInflater().inflate(R.layout.windowlayout, null);

        LatLng latLng = arg0.getPosition();

        TextView tvLat = (TextView) v.findViewById(R.id.tv_lat);

        TextView tvLng = (TextView) v.findViewById(R.id.tv_lng);

        tvLat.setText("Latitude:" + latLng.latitude);

        tvLng.setText("Longitude:"+ latLng.longitude);
        Button btn  = (Button)v.findViewById(R.id.btn); // Here my button not work 
        btn.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Toast.makeText(GoogleMapActivaFind.this, "wow", Toast.LENGTH_SHORT).show();
                    }
                });
        return v;
    }
});

【问题讨论】:

标签: android google-maps listener


【解决方案1】:

这是不可能的:

注意:绘制的信息窗口不是实时视图。视图在返回时呈现为图像(使用 View.draw(Canvas))。这意味着对视图的任何后续更改都不会反映在地图上的信息窗口中。要稍后更新信息窗口(例如,加载图像后),请调用 showInfoWindow()。此外,信息窗口不会尊重任何普通视图的典型交互性,例如触摸或手势事件。但是,您可以在整个信息窗口上收听通用点击事件,如下节所述。

来源:Info Windows

但是您可以使用GoogleMap.OnInfoWindowClickListener 来监听信息窗口上的点击事件。

【讨论】:

    猜你喜欢
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    相关资源
    最近更新 更多