【问题标题】:Changing GMSMarker icon doesn't work更改 GMSMarker 图标不起作用
【发布时间】:2016-12-13 06:27:31
【问题描述】:

我正在尝试将GMSMarker 图标更改为Moa,但标记仍显示默认图标。这是我的代码:

   override func viewDidLoad() {
        super.viewDidLoad()
        locationmanager.delegate = self
        let authorizationStatus = CLLocationManager.authorizationStatus()
        if(authorizationStatus == .authorizedWhenInUse || authorizationStatus == .authorizedAlways) {
            locationmanager.startUpdatingLocation()
            MapView.isMyLocationEnabled = true
            MapView.settings.myLocationButton = true
        } else {
            locationmanager.requestWhenInUseAuthorization()
        }
        MapView.camera = GMSCameraPosition.camera(withLatitude: 32.4279, longitude: 53.6880, zoom: 5)
        MapView.delegate = self
        prepareMapMarkers()
    }        
    func prepareMapMarkers(){
        let marker = GMSMarker(position: CLLocationCoordinate2D(latitude: CLLocationDegrees(malls[0].lat), longitude: CLLocationDegrees(malls[0].long)))
        marker.map = MapView
        moa.onSuccess = { image in
            print(image)
            marker.icon = image.images?[0]
            return image
        }
        moa.url = "http://www.w3schools.com/css/img_fjords.jpg"
    }

控制台

<UIImage: 0x60000009e050>, {600, 400}

该图像仅用于测试。为什么它不起作用?

【问题讨论】:

  • 你能发布你所有的代码部分,看看发生了什么吗?
  • 问题已编辑@ReinierMelian

标签: ios swift gmsmapview


【解决方案1】:

试试这个!它对我有用

let pin = UIImage(named: "maps_icon_location")!.imageWithRenderingMode(.AlwaysTemplate)
                                marker.icon = pin

【讨论】:

  • 但我想用Moa library 加载它
【解决方案2】:

您正试图在添加标记后更改标记的图像。我不确定 Google Maps SDK 是否支持这一点,但这不是一个好主意。相反,下载您的照片,然后创建标记并将其添加到地图中:

moa.onSuccess = { image in
    let marker = GMSMarker(position: CLLocationCoordinate2D(latitude: CLLocationDegrees(malls[0].lat), longitude: CLLocationDegrees(malls[0].long)))
    marker.icon = image.images?[0]
    marker.map = self.MapView
}
moa.url = "http://www.w3schools.com/css/img_fjords.jpg"

【讨论】:

  • 你能说得更具体点吗? image.images?[0] 是否返回任何内容?
  • 是的,它返回的内容与我在问题中提到的相同
猜你喜欢
  • 2017-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-13
  • 2021-10-20
  • 2011-05-28
  • 2020-01-04
  • 2020-01-23
相关资源
最近更新 更多