Свифт | Показать изображение в Custom GMSMarker

Вы должны пропустить. Для вашего конкретного случая:

db.person.find().snapshot().forEach(
    function (elem) {
        db.person.update(
            {
                _id: elem._id
            },
            {
                $set: {
                    name: elem.firstname + ' ' + elem.lastname
                }
            }
        );
    }
);
1
задан Chanchal Chauhan 18 January 2019 в 02:20
поделиться

2 ответа

Вы можете использовать данные два метода:

func drawImageWithProfilePic(pp: UIImage, image: UIImage) -> UIImage {

    let imgView = UIImageView(image: image)
    let picImgView = UIImageView(image: pp)
    picImgView.frame = CGRect(x: 0, y: 0, width: 30, height: 30)

    imgView.addSubview(picImgView)
    picImgView.center.x = imgView.center.x
    picImgView.center.y = imgView.center.y - 7
    picImgView.layer.cornerRadius = picImgView.frame.width/2
    picImgView.clipsToBounds = true
    imgView.setNeedsLayout()
    picImgView.setNeedsLayout()

    let newImage = imageWithView(view: imgView)
    return newImage
}

func imageWithView(view: UIView) -> UIImage {
    var image: UIImage?
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0.0)
    if let context = UIGraphicsGetCurrentContext() {
        view.layer.render(in: context)
        image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
    }
    return image ?? UIImage()
}

Здесь pp - изображение вашего профиля, а image - значок изображения. Вы можете установить рамку профиля в соответствии с вами. Я пробовал это:

Редактировать

let marker = GMSMarker(position: coordinate)
marker.icon = drawImageWithProfilePic(pp: imgPP, image: img)
marker.appearAnimation = GMSMarkerAnimation.pop
marker.map = viewGoogleMap

и вот вывод:

enter image description here [114 ]

0
ответ дан Chanchal Chauhan 18 January 2019 в 02:20
поделиться

Вы можете создать / спроектировать пользовательский вид либо в nib, либо programmatically, а затем назначить его своему маркеру следующим образом.

let someView = YourCustomView()
someView.markerImageView.image = UIImage(named: "markerImage")
someView.userImageView.image = UIImage(named: "userImage")

let marker = GMSMarker()
marker.map = yourMapView
marker.position = somePositionCoordinate;
marker.iconView = someView
0
ответ дан Syed Qamar Abbas 18 January 2019 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: