ios - 如何在 iOS 中移动标记以及移动 Google map ?

标签 ios swift google-maps google-maps-sdk-ios gmsmapview

我在特定地点显示标记,同时在 Google map 上的地址标签中显示当前地址。

现在,我想通过移动谷歌地图来更改位置,但问题是当我移动 map 时,我应该同时移动标记和 map ,并且我应该在中显示该位置的地址地址标签。

我该怎么做?

我试过这个:

let destinationMarker = GMSMarker(position: self.destinationLocation.coordinate)

let image = UIImage(named:"sourcemarker")
destinationMarker.icon = image
destinationMarker.draggable = true
destinationMarker.map = self.viewMap
//viewMap.selectedMarker = destinationMarker
destinationMarker.title = "hi"
destinationMarker.userData = "changedestination"

func mapView(mapView: GMSMapView, didEndDraggingMarker marker: GMSMarker)
{
    if marker.userData as! String == "changedestination"
    {
        self.destinationLocation = CLLocation(latitude: marker.position.latitude, longitude: marker.position.longitude)
        self.destinationCoordinate = self.destinationLocation.coordinate
        //getAddressFromLatLong(destinationCoordinate)
    }
}

最佳答案

// UpdteLocationCoordinate
    func updateLocationoordinates(coordinates:CLLocationCoordinate2D) {
        if destinationMarker == nil
        {
            destinationMarker = GMSMarker()
            destinationMarker.position = coordinates
            let image = UIImage(named:"destinationmarker")
            destinationMarker.icon = image
            destinationMarker.map = viewMap
            destinationMarker.appearAnimation = kGMSMarkerAnimationPop
        }
        else
        {
            CATransaction.begin()
            CATransaction.setAnimationDuration(1.0)
            destinationMarker.position =  coordinates
            CATransaction.commit()
        }
    }

    // Camera change Position this methods will call every time
    func mapView(mapView: GMSMapView, didChangeCameraPosition position: GMSCameraPosition) {
        let destinationLocation = CLLocation()
        if self.mapGesture == true
        {
            destinationLocation = CLLocation(latitude: position.target.latitude,  longitude: position.target.longitude)
            destinationCoordinate = destinationLocation.coordinate
            updateLocationoordinates(destinationCoordinate)
        }
    }

关于ios - 如何在 iOS 中移动标记以及移动 Google map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37992224/

相关文章:

swift - 如何将 2 张图像合并为 1 张

ios - 注册本地通知

ios - Twitter 如何在不更新 iOS 客户端的情况下推出夜间模式

ios - 尝试通过旧的 AppDelegate 方法设置 rootVC。但它不起作用

ios - 如何过渡出父级 UINavigationController

javascript - 如果鼠标未悬停,延迟后隐藏 DIV?

android - 按照设备屏幕上的手指运动路径在 map 上绘制路径

google-maps - 查找 Maps API key 的所有者

ios - 自动完成不适用于 Xcode 6 中的 "@"

ios - 在ios中向 TableView 插入数据的问题