我正在尝试使用 Textview 放置标记。是否可以在 ios 中的谷歌地图上的标记上添加文本。
- 像这样
最佳答案
您必须制作一个 View ,您必须在其中创建一个 imageView(带有您的标记图像)和 Label(带有您的文本)并截取该 View 的屏幕截图,并将其设置为 GMSMarker 的图标。 像这样:
- (void)foo
{
GMSMarker *marker = [GMSMarker new];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,60,60)];
UIImageView *pinImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myPin"]];
UILabel *label = [UILabel new];
label.text = @"1";
//label.font = ...;
[label sizeToFit];
[view addSubview:pinImageView];
[view addSubview:label];
//i.e. customize view to get what you need
UIImage *markerIcon = [self imageFromView:view];
marker.icon = markerIcon;
marker.map = self.mapView;
}
- (UIImage *)imageFromView:(UIView *) view
{
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, [[UIScreen mainScreen] scale]);
} else {
UIGraphicsBeginImageContext(view.frame.size);
}
[view.layer renderInContext: UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
关于ios - 在 iOS 版谷歌地图上的自定义标记上添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24487717/