好的,所以我已经看到了一些类似的问题,但似乎找不到任何真正回答这个问题的问题。
我正在旋转(或想要)MKMapView:
[mapView setTransform:CGAffineTransformMakeRotation(angle)];
这很好用,除了Google徽标随之旋转,我听说这是不行的。另外我想让我的mapView比屏幕更大,这样当旋转时整个屏幕仍然显示地图,但这也会将Google Logo移出屏幕。
因此可以旋转MkMapView并仍显示Google徽标???也许可以打电话给某些Google Web AP
答案 0 :(得分:2)
所以我找到了一种方法来做到这一点,虽然我仍觉得它有点像黑客,因为苹果可能会在未来的版本中改变一些会破坏这种技术的东西。
MKMapView有2个子视图。其中一个是UIImageView,其中包含用于版权目的的“Google”图像。
因此,在IB中,您可以设置位于左下角的自己的UIImageView,在代码中,您可以将其图像设置为与地图视图内UIImageView中的图像相同的图像:
-(void) getImage {
for(UIView *v in mapView.subviews) {
if([v isKindOfClass:[UIImageView class]]) {
NSLog(@"%@",v);
self.cpyView.image=((UIImageView *)v).image;
}
}
}
现在,当您旋转MKMapView时,您的UIImageView将不会旋转。
现在另一个技巧是让MKMapView嵌入另一个视图(viewForMap)(想法来自于Wei-Meng Lee的Beginning iOS 4)。
将UIView放入IB并将其大小调整为您希望可见地图的大小。将其设置为剪切IB中的子视图。
在代码中你将分配] initWithFrame一个MKMapView,以便MKMapView以这个viewForMap为中心,但是比它大。
例如,如果你的viewForMap是320,372,那么这样做:
mapView=[[MKMapView alloc] initWithFrame:CGRectMake(-90,-64,500,500)];
mapView.mapType=MKMapTypeHybrid;
mapView.delegate=self;
[viewForMap addSubview:mapView];
现在您可以旋转地图mapView.transform=CGAffineTransformMakeRotation(-M_PI/2);
持有“Google”图片的UIImageView不会被旋转,因此会保持可见状态。 MKMapView中的“Google”图像将在屏幕外显示。
答案 1 :(得分:0)
你可以这样做:
如果您没有Google的徽标,您的申请将被拒绝,具体如下:
8.6如果原始内容的所有品牌特征保持不变且完全可见,则可以在应用程序中使用通过Google Maps API获取的Google地图和Google地球图像。覆盖或修改Google徽标或版权所有者身份的应用将被拒绝