谷歌地图- oninfowindowclicklistener启动新的活动

google map- oninfowindowclicklistener launch new activity

本文关键字:活动 启动 oninfowindowclicklistener 谷歌地图      更新时间:2023-09-26

我想在用户点击谷歌地图上的标记时启动一个新的活动。然而,我有一些问题与函数oninfowindowclicklistener.我已经在地图上做了一些标记,我想点击它…

public class MapsActivity extends FragmentActivity {
    private GoogleMap mMap; // Might be null if Google Play services APK is not available.
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        setUpMapIfNeeded();
    }
    mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
        @Override
        public void onInfoWindowClick(Marker marker){
        Intent intent = new Intent(MapsActivity.this, form.class);
        startActivity(intent);
    })
    }
    @Override
    protected void onResume() {
        super.onResume();
        setUpMapIfNeeded();
    }
    
    private void setUpMapIfNeeded() {
        // Do a null check to confirm that we have not already instantiated the map.
        if (mMap == null) {
            // Try to obtain the map from the SupportMapFragment.
            mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                    .getMap();
            // Check if we were successful in obtaining the map.
            if (mMap != null) {
                setUpMap();
            }
        }
    }
  
    private void setUpMap() {
        mMap.addMarker(new MarkerOptions().position(new LatLng(6.440978, 100.200227)).title("Balai Bomba dan Penyelamat Kangar"));
        mMap.addMarker(new MarkerOptions().position(new LatLng(6.445473, 100.255613)).title("Balai Bomba dan Penyelamat Arau"));
        mMap.addMarker(new MarkerOptions().position(new LatLng(6.427578, 100.278783)).title("Balai Bomba dan Penyelamat Pauh"));
        mMap.addMarker(new MarkerOptions().position(new LatLng(6.659915, 100.323910)).title("Balai Bomba dan Penyelamat Padang Besar"));
        mMap.addMarker(new MarkerOptions().position(new LatLng(6.412559, 100.190950)).title("Balai Bomba dan Penyelamat Kuala Perlis"));
        mMap.setMyLocationEnabled(true);
    }
}

点击监听器的标记

 mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            Log.e("map marker", "marker is  " + marker.getTitle());
            return false;
        }
    });