2016-09-27 65 views
3

我在GoogleMap中放置了一个标记,其中包含Image。但图像的大小要大得多。所以我如何减少标记的大小。我曾经尝试这样做:使用Swift在GoogleMap中更改标记的大小

marker.icon = self.image(marker.icon, scaledToSize: CGSize(width: 3.0, height: 3.0)) 

回答

7

调整图像大小是指:The simplest way to resize an UIImage?

现在设定的调整后的图像作为标记图标,即

marker.icon = self.imageWithImage(image: UIImage(named: "imageName")!, scaledToSize: CGSize(width: 3.0, height: 3.0)) 

编辑

func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage{ 
    UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0); 
    image.drawInRect(CGRectMake(0, 0, newSize.width, newSize.height)) 
    let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 
    return newImage 
} 
+0

是什么imageWithImage在这种情况下@PGDev – hussain

+0

谢谢! :) @PGDev – hussain

3

根据@PGDev的回答

我对斯威夫特3实现:

func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage{ 
     UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0); 
     //image.draw(in: CGRectMake(0, 0, newSize.width, newSize.height)) 
     image.draw(in: CGRect(origin: CGPoint(x: 0,y :0), size: CGSize(width: newSize.width, height: newSize.height)) ) 
     let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()! 
     UIGraphicsEndImageContext() 
     return newImage 
    } 

而且采用这种方式:

marker.icon = self.imageWithImage(image: UIImage(named: place.icon)!, scaledToSize: CGSize(width: 100.0, height: 100.0)) 
相关问题