2017-05-30 66 views
1

我正在用swift在IOS上开发一个标签栏视图应用程序。我正在集成Google Maps SDK,但是我的地图的底部部分隐藏在标签栏区域下方。这隐藏了违反Google政策的Google徽标。有没有办法指定地图直接在标签栏区域上方开始?此外,是否有人知道如果可以通过Google的付费服务从道德上删除徽标?换句话说,谷歌有没有可以删除徽标的“高级”会员资格?谷歌地图SDK徽标选项

这是怎么我的MapView目前正在构建:

let camera = GMSCameraPosition.camera(withLatitude: 40.000, longitude: -83.000, zoom: 12) 
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) 
view = mapView 
+0

请标记答案以接受它。 – Efren

+0

徽标可能被删除,但您必须直接联系他们购买内容。来自[归属指南](https://www.google.com/permissions/geoguidelines/attr-guide.html):“我是否需要使用图像上提供的文本? 自动生成的Google徽标和数据如果在内容中的其他地方重新引入了可见的形式(例如,Google地球下方的照片标题仍然存在),则提供商归属只能被删除或阻止。换句话说,如果您使用默认设置我们提供的文字。“ – Efren

+0

或根据[sdk doc](https://developers.google.com/maps/documentation/ios-sdk/map#map_padding):“注意:根据Google Maps APIs服务条款的规定,您的应用程序必须不删除或遮盖Google徽标或版权声明Map Padding允许您在必要时重新定位这些元素如果您在地图底部显示自定义用户界面,请在地图底部添加填充以便标识和法律声明将永远是可见的。“ – Efren

回答

1

要定位地图,使标签栏是不是覆盖它,你可以做这样的事情:

let mapView = GMSMapView.map(withFrame: CGRect(x:0, y:0, width:self.view.bounds.width, height:self.view.bounds.height - self.tabBarController!.tabBar.frame.height), camera: camera) 
self.view.addSubview(mapView) 

注下面的图片中的差异。左边的标签栏(使用你的代码)被遮挡,而右边的是我的代码。我将地图添加为标签栏上方区域尺寸的子视图,而不是将整个视图放在地图上。

enter image description here

关于支付省略谷歌的标志,这是一个有趣的问题,我不知道要么,但我有点怀疑他们会允许,因为他们的品牌是他们的面包和奶油。

+0

非常感谢。很有帮助。我仍然不知道这个网站如何工作,但我不能upvote你的答案... –

+0

@BenjaminKrium,我想你点击箭头下的灰色复选标记?但无论如何,这是一个有趣的挑战。我主要使用内置的Apple地图,所以有趣的是看看Google地图SDK的工作方式有何不同。 –