Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何通过在谷歌地图上添加重叠图像来隐藏谷歌标志?_Android_Google Maps - Fatal编程技术网

Android 如何通过在谷歌地图上添加重叠图像来隐藏谷歌标志?

Android 如何通过在谷歌地图上添加重叠图像来隐藏谷歌标志?,android,google-maps,Android,Google Maps,我使用GroundOverlayOptions在谷歌地图上添加位图图像,该图像将覆盖在谷歌地图上 下面是我的代码 @Override public void onLocationChanged(Location location) { TextView tvLocation = (TextView) findViewById(R.id.tv_location); location = generateRandomLoc(location, 0); double lat

我使用GroundOverlayOptions在谷歌地图上添加位图图像,该图像将覆盖在谷歌地图上

下面是我的代码

 @Override
public void onLocationChanged(Location location) {

    TextView tvLocation = (TextView) findViewById(R.id.tv_location);
    location = generateRandomLoc(location, 0);
    double latitude = location.getLatitude();
    double longitude = location.getLongitude();
    LatLng latLng = new LatLng(latitude, longitude);

    //Setting padding to hide google logo
    mapView.setPadding(-10,0,0,0);

    CameraPosition cameraPosition = new CameraPosition.Builder().target(latLng).build();
    mapView.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
    mapView.moveCamera(CameraUpdateFactory.newLatLng(latLng));
    //get camera position frm map view
    LatLng cameraPosLatLng = mapView.getCameraPosition().target;
    if (isFlag) {
        BitmapDescriptor image = BitmapDescriptorFactory.fromResource(R.drawable.overlay_pink_image);
        mapView.addGroundOverlay(new GroundOverlayOptions()
                .image(image).position(latLng, 458, 274)
                .transparency(0.5f));
        mapView.animateCamera(CameraUpdateFactory.zoomTo(17));
    }
    if (cirle != null) {
        cirle.remove();
    }
    cirle = mapView.addCircle(new CircleOptions().center(cameraPosLatLng).strokeColor(Color.GREEN).fillColor(Color.GREEN).radius(0.7));
}
我试图通过设置填充来从地图视图中隐藏Google徽标,但该徽标不会从地图视图中隐藏。当我在左侧或底部设置-10填充时,10%的视图将被禁用。但在地图视图的情况下,这可能会有所不同。如果我设置了填充(50,0,0,0);该标志将放置在右侧。如何在谷歌地图上禁用或隐藏谷歌的徽标

任何帮助都将不胜感激

试着尊重对方

9.4归因。

a[href^="http://maps.google.com/maps"]{display:none !important}
a[href^="https://maps.google.com/maps"]{display:none !important}

.gmnoprint a, .gmnoprint span, .gm-style-cc {
    display:none;
}
.gmnoprint div {
    background:none !important;
}
  • 通过该服务提供给您的内容可能包含谷歌、其战略合作伙伴或谷歌索引内容的其他第三方权利持有人的品牌特征。当谷歌通过该服务提供这些品牌功能或其他属性时,您必须显示所提供的属性(或地图API文档中所述的属性),并且不得删除或更改属性
  • 您必须在相关服务搜索框和谷歌搜索结果上或其附近醒目地显示“由谷歌提供动力”属性(以及谷歌在地图API文档中要求的任何其他属性)。如果您使用标准Google搜索控件或标准Google搜索控件表单,则此属性将自动包括在内,并且您不得修改或模糊此自动生成的属性
开发人员没有权力更换徽标,即使这是可能的

[更新]

3.2.3使用服务的要求


(b) 归因。客户将显示(i)谷歌通过服务提供的所有归属(包括品牌、徽标、版权和商标通知);或(ii)在地图服务专用条款中规定。客户将不修改、模糊或删除此类属性

从谷歌地图和谷歌地球图像中隐藏谷歌标志违反了谷歌地图的使用条款。因此,即使有办法做到这一点,这也是非法的。您可以在下面找到TOS和相关规则

9.4归因。

a[href^="http://maps.google.com/maps"]{display:none !important}
a[href^="https://maps.google.com/maps"]{display:none !important}

.gmnoprint a, .gmnoprint span, .gm-style-cc {
    display:none;
}
.gmnoprint div {
    background:none !important;
}

通过该服务提供给您的内容可能包含谷歌、其战略合作伙伴或谷歌索引内容的其他第三方权利持有人的品牌特征当谷歌通过该服务提供这些品牌功能或其他属性时,您必须按照提供的属性(或地图API文档中的描述)显示这些属性,并且不得删除或更改属性。

您可以通过以下方式在安卓系统中实现:

final ViewGroup googleLogo = (ViewGroup) findViewById(R.id.single_map).findViewWithTag(Const.GOOGLE_MAPS_WATERMARK).getParent();
googleLogo.setVisibility(View.GONE);
a[href^="http://maps.google.com/maps"]{display:none !important}
a[href^="https://maps.google.com/maps"]{display:none !important}

.gmnoprint a, .gmnoprint span, .gm-style-cc {
    display:none;
}
.gmnoprint div {
    background:none !important;
}

其中single_map是SupportMapFragment的实例。

简单!我通过直接在片段或任何父布局上执行以下操作来实现这一点

<RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:layout_marginBottom="-30dp"
  android:layout_marginTop="-30dp">

   <fragment
      android:id="@+id/map_frag_main"
      android:name="com.google.android.gms.maps.SupportMapFragment"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      tools:context=".MainActivity" />

</RelativeLayout>


添加版面边距将删除谷歌徽标,无需填充,只需确保添加可绘制的边距,否则将违反TOS。干杯

您可以通过xml或编程方式删除它,但简单的官方答案是


您不能,因为这是不合法的此CSS将删除谷歌徽标、使用条款,并报告问题部门。

a[href^="http://maps.google.com/maps"]{display:none !important}
a[href^="https://maps.google.com/maps"]{display:none !important}

.gmnoprint a, .gmnoprint span, .gm-style-cc {
    display:none;
}
.gmnoprint div {
    background:none !important;
}

我已经通过搜索结果看到了这个答案。但是我必须隐藏google徽标,有没有可能?违反条款和策略不是一个好的驱动。你可能需要对客户说同样的话:)这些条款和策略对于IOS也是一样的…对吗?但他们可以选择隐藏谷歌标志。为什么我们不能隐藏?它不应该。这就是为什么他们没有在android中提供选项。IOS不属于谷歌,它可能在幕后,也有隐藏的选项。无论如何,我个人的意见是:)你可以检查&只是澄清一下。违反TOS并非“非法”。美国没有禁止违反TOS的法律,但它确实会让你处于被吊销地图使用权的危险之中,所以不要这样做。那是“不道德的”。在使用谷歌地图时隐藏谷歌的水印不是个好主意。。。您正在尝试tos->