【问题标题】:google map- oninfowindowclicklistener launch new activitygoogle map-oninfowindowclicklistener 启动新活动
【发布时间】:2015-09-29 13:56:52
【问题描述】:

我想在用户单击谷歌地图上的标记时启动一个新活动。但是我对 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);
    }
}

【问题讨论】:

  • 您不使用 .setoninfowindowclicklistener 在 MARKER 上添加点击监听器。你需要的是 map.setOnMarkerClickListener
  • @sandeep 你能在 map.setonmarkerclicklistener 上制作一个示例代码吗,因为我是这个应用程序的新手...

标签: javascript android google-maps


【解决方案1】:

点击监听器上的标记是

 mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {

            Log.e("map marker", "marker is  " + marker.getTitle());

            return false;
        }
    });

【讨论】:

  • 如果你使用的是 eclipse.. 使用 ctrl+shift+o .... 如果是 android studio,点击红色文本并 Alt+Enter。
  • 我还建议你在 setupMap() 方法中添加上面给出的代码。
猜你喜欢
  • 2018-05-10
  • 1970-01-01
  • 2017-06-28
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多