默认情况下显示路线和地图图标-Mapfragment Android

默认情况下显示路线和地图图标-Mapfragment Android,android,google-maps,google-maps-android-api-2,mapfragment,Android,Google Maps,Google Maps Android Api 2,Mapfragment,嗨, 1.请在突出显示的区域找到路线和地图图标。 2.触摸“我的位置”蓝色圆圈即可显示这些内容。 3.希望在地图加载后,在默认情况下不让用户触摸就显示这些图标。 下面是代码: protected void loadMap(GoogleMap googleMap, String latlng) { if (googleMap != null) { googleMap.setMyLocationEnabled(true); googl

嗨,
1.请在突出显示的区域找到路线和地图图标。
2.触摸“我的位置”蓝色圆圈即可显示这些内容。
3.希望在地图加载后,在默认情况下不让用户触摸就显示这些图标。

下面是代码:

 protected void loadMap(GoogleMap googleMap, String latlng) {
        if (googleMap != null) {
            googleMap.setMyLocationEnabled(true);
            googleMap.getUiSettings().setMapToolbarEnabled(true);
            googleMap.getUiSettings().setMyLocationButtonEnabled(true);
            String[] latlngAry = latlng.split(",");
            double lat = Double.parseDouble(latlngAry[0]);
            double lng = Double.parseDouble(latlngAry[1]);
            LatLng latlong = new LatLng(lat, lng);

            BitmapDescriptor defaultMarker =
                    BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE);

            Marker marker = googleMap.addMarker(new MarkerOptions()
                    .position(latlong)
                    .title("My Location")
                    .icon(defaultMarker));


            marker.showInfoWindow();
            googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlong, 18));  }

单击标记时显示的覆盖将在现场隐式创建和销毁。你还不能手动显示它

如果必须具备此功能,则可以使用2个图像视图在地图上创建覆盖,并在单击它们时调用相应的意图:

// Directions
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(
        "http://maps.google.com/maps?saddr=51.5, 0.125&daddr=51.5, 0.15"));
startActivity(intent);
// Default google map
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(
        "http://maps.google.com/maps?q=loc:51.5, 0.125"));
startActivity(intent);
注意:您需要根据标记的getPosition()和用户的位置更改坐标

现在要隐藏默认覆盖,只需在OnMarkerClickListener中返回true。尽管您失去了在标记上显示信息窗口和将摄像头居中的功能,但您可以简单地模仿:

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
    @Override
    public boolean onMarkerClick(Marker marker) {
        marker.showInfoWindow();
        mMap.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()));
        return true;
    }
});

单击标记时显示的覆盖将在现场隐式创建和销毁。你还不能手动显示它

如果必须具备此功能,则可以使用2个图像视图在地图上创建覆盖,并在单击它们时调用相应的意图:

// Directions
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(
        "http://maps.google.com/maps?saddr=51.5, 0.125&daddr=51.5, 0.15"));
startActivity(intent);
// Default google map
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(
        "http://maps.google.com/maps?q=loc:51.5, 0.125"));
startActivity(intent);
注意:您需要根据标记的getPosition()和用户的位置更改坐标

现在要隐藏默认覆盖,只需在OnMarkerClickListener中返回true。尽管您失去了在标记上显示信息窗口和将摄像头居中的功能,但您可以简单地模仿:

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
    @Override
    public boolean onMarkerClick(Marker marker) {
        marker.showInfoWindow();
        mMap.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()));
        return true;
    }
});

你可以接受我的答案,因为这是一个恰当的答案。你可以接受我的答案,因为这是一个恰当的答案。