2017-04-09 8 views
0

私がやっていることは、GoogleマップマーカーをFirebaseからダウンロードしているUIImageだけに設定することです。現在のところ私のコードです:Googleマップボーダーを使った円形の画像としてのマーカーアイコン

if let downloadedImage = UIImage(data: data!) { 

    let markerImageView: UIImageView? = nil 

    markerImageView?.image = downloadedImage 
    print(markerImageView?.image) 
    markerImageView?.frame = CGRect(x: 0, y: 0, width: 50, height: 50) 

    markerImageView?.layer.borderWidth = 1.0 
    markerImageView?.layer.masksToBounds = false 
    markerImageView?.layer.borderColor = UIColor.white.cgColor 
    markerImageView?.layer.cornerRadius = (markerImageView?.frame.size.width)!/2 
    markerImageView?.clipsToBounds = true 

    let actualFinalImage = markerImageView?.image 

    marker.icon = actualFinalImage 

} 

私はfirebaseからイメージを取得していることを知っており、その部分が動作しています。しかし、問題がこの部分にあると思うところ:let markerImageView: UIImageView? = nil私はそれをマーカーアイコンとの矛盾として設定すると、これが機能しない理由です。しかし、nil部分を取り除くと、初期化される前にmarkerImageViewを編集できないというエラーが表示されます。

助けていただけたら幸いです!

答えて

0

ガイド、次の試してみてください - Use the marker's icon property

次のスニペットは、iconプロパティでUIImageとして提供するカスタムアイコンでマーカーを作成します。アイコンはロンドンの中心に位置しています。スニペットでは、アプリケーションに「house.png」という名前の画像が含まれていることが前提です。 SO関連post

mapView.delegate = self 

let house = UIImage(named: "House")!.withRenderingMode(.alwaysTemplate) 
let markerView = UIImageView(image: house) 
markerView.tintColor = .red 
londonView = markerView 

let position = CLLocationCoordinate2D(latitude: 51.5, longitude: -0.127) 
let marker = GMSMarker(position: position) 
marker.title = "London" 
marker.iconView = markerView 
marker.tracksViewChanges = true 
marker.map = mapView 
london = marker 

:カスタムマーカー画像のより完全な実装については

let position = CLLocationCoordinate2D(latitude: 51.5, longitude: -0.127) 
let london = GMSMarker(position: position) 
london.title = "London" 
london.icon = UIImage(named: "house") 
london.map = mapView 

let marker = GMSMarker() 

// I have taken a pin image which is a custom image 
let markerImage = UIImage(named: "mapMarker")!.withRenderingMode(.alwaysTemplate) 

//creating a marker view 
let markerView = UIImageView(image: markerImage) 

//changing the tint color of the image 
markerView.tintColor = UIColor.red 

marker.position = CLLocationCoordinate2D(latitude: 28.7041, longitude: 77.1025) 

marker.iconView = markerView 
marker.title = "New Delhi" 
marker.snippet = "India" 
marker.map = mapView 

//comment this line if you don't wish to put a callout bubble 
mapView.selectedMarker = marker 

あなたは彼がUIImageためmarkerImageを割り当てる方法を紹介しますイメージを取得するには、マーカービューを使用してUIImageViewのイメージを設定します。最後に、markerViewをmarker.iconViewと呼びます。valueです。

これが役に立ちます。

関連する問題