OnInfoClick 不起作用

OnInfoClick Doesn't Work

我有一个程序想要将我定向到位置评论页面,用户可以在该页面上阅读有关他点击的特定位置的所有信息。

我尝试用下面的代码实现它:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_places_near_me);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

        progressDialog = new ProgressDialog(PlacesNearMeActivity.this);
        mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {

            @Override
            public void onInfoWindowClick(Marker marker) {
                Intent intent = new Intent(PlacesNearMeActivity.this, ReviewActivity.class);
                startActivity(intent);
            }
        });
    } // #EndOfOnCreate!

使用

在 google 地图上显示标记
public void markPlaces(String  result, GoogleMap mMap) {
        try {
            final JSONObject json = new JSONObject(result);
            JSONArray resultArray = json.getJSONArray("results");
            for ( int z=0; z<resultArray.length(); ++z ) {
                JSONObject locObj = resultArray.getJSONObject(z);
                JSONObject geometry = locObj.getJSONObject("geometry");
                JSONObject location = geometry.getJSONObject("location");

                Double lat = Double.parseDouble(location.getString("lat"));
                Double lng = Double.parseDouble(location.getString("lng"));
                String name = locObj.getString("name");
                String placeId = locObj.getString("place_id");

                mMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).title(name)
                            .snippet(placeId));
            }
        }
        catch (JSONException e) { }
    } // #EndOfmarkMarkers!

问题是没有任何反应,我尝试使用 implements 方法和 onMarkerClickListener 来实现它。有什么解决方案吗?

如果你使用getMapAsync()(你应该!),地图的所有地图配置都需要放入onMapReady()。在那之前,您没有要配置的地图。这包括为信息 window 或标记点击等事件设置侦听器。