2016-09-27 64 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)) 
相關問題