我在MapView的两个底部角落各放了两个按钮,部分遮住了左下角的google标志。 为了遵守API的条款和条件,我需要将Google徽标重新定位到更明显的地方。即在按钮上方。 Google API文档指出,Google徽标是在MapView的onDraw()方法中绘制的,但我不知道如何正确覆盖它,因为GoogleMap是封闭源代码的。 我可以在iPhone中通过在MKMapView's子项中找到正确的UIView来做到这一点,但我不知道如何在Android中做到这一点。
Google Maps SDK v2 for Android添加了此功能。 使用GoogleMap.setPadding()向“活动”区域(包括Google徽标和版权声明)添加填充,同时仍然填充整个容器。 https://developers.google.com/maps/documentation/android/map#map_padding
9条答案
按热度按时间w8rqjzmb1#
Google Maps SDK v2 for Android添加了此功能。
使用
GoogleMap.setPadding()
向“活动”区域(包括Google徽标和版权声明)添加填充,同时仍然填充整个容器。https://developers.google.com/maps/documentation/android/map#map_padding
2ul0zpep2#
您可以在分配给它的标签
GoogleWatermark
的帮助下移动Google徽标。在下面的代码中,我将其移动到屏幕的右上角。其中
missionMap
是已添加MapFragment
的帧布局。w1jd8yoj3#
我也有同样的问题,但你可以在不与谷歌的条款和条件冲突的情况下实现你想要的。最主要的是把你的mapView放在一个Frame布局中,比如:
我有许多按钮要包含,所以我在一个自定义小部件(MapNavBar)中创建了它们。从屏幕截图中可以看到,Google徽标仍然可见,并且位于新窗口中的正常位置。
这是在Android 2.2工作它也有一个好处,标准的缩放控制也向上移动,所以它不会干扰你自己的按钮。
xbp102n04#
来自文档:
onDraw是最终方法。完全不能覆盖
您也可以选择,显示您的按钮下面的Map视图在布局对齐父底部。这样你就可以在你喜欢的位置有按钮,它不会掩盖你的谷歌标志。
wribegjk5#
这是一个很老的问题,但也许有人会利用它。我让它出现在右上角:
如果你想把它放在其他地方,你将需要有乐趣与setPadding
也不要忘记隐藏谷歌Map的UI按钮:
有一个(至少)问题。当使用相机将Map居中在给定点上时,将无法正常工作。如果需要移动相机,最好只将填充设置为可见的Map片段,它应该可以正常工作。使用rect知道要放入
setPadding
的尺寸ego6inou6#
我是通过以下几点做到这一点的。
这将剪辑掉谷歌标志,不需要填充,只要确保您添加了一个可绘制的,否则您将违反TOS。
jaxagkaj7#
有点黑客,但你可以尝试添加一个
MapView
它到一个FrameLayout,
设置MapView
x X dp的高度大于FrameLayout
,所以它被剪掉,并添加一个标志Drawable
在任何你想要的地方。wi3ka0sx8#
你不需要做任何事情,但使用谷歌Map文档中所述的GoogleMap对象的填充注:根据Google Maps Platform服务条款,您的应用程序不得删除或模糊Google徽标或版权声明。Map填充允许您在必要时重新定位这些元素。如果在Map底部显示自定义UI,请在Map底部添加填充,以便徽标和法律的声明始终可见。
ne5o7dgx9#
如果你想删除谷歌水印,只需添加这行,
你的问题就解决了