Gan*_*mar 2 xcode google-maps ios swift
我添加了一条路线,并且我还添加了路标。我想沿着路线将标记从一个gps坐标点平滑移动到另一个gps坐标点。谁能帮我这个?这是用于添加标记的代码。
func configureMapAndMarkersForRoute() {
viewGMap.camera = GMSCameraPosition.cameraWithTarget(mapTasks.originCoordinate, zoom: 9.0)
originMarker = GMSMarker(position: self.mapTasks.originCoordinate)
originMarker.map = self.viewGMap
originMarker.icon = GMSMarker.markerImageWithColor(UIColor.greenColor())
originMarker.title = self.mapTasks.originAddress
destinationMarker = GMSMarker(position: self.mapTasks.destinationCoordinate)
destinationMarker.map = self.viewGMap
destinationMarker.icon = GMSMarker.markerImageWithColor(UIColor.redColor())
destinationMarker.title = self.mapTasks.destinationAddress
if waypointsArray.count > 0 {
var i = 0
for waypoint in waypointsArray {
let lat: Double = (waypoint.componentsSeparatedByString(",")[0] as NSString).doubleValue
let lng: Double = (waypoint.componentsSeparatedByString(",")[1] as NSString).doubleValue
let marker = GMSMarker(position: CLLocationCoordinate2DMake(lat, lng))
marker.map = viewGMap
marker.icon = GMSMarker.markerImageWithColor(UIColor.purpleColor())
marker.title = locationNameArray[i]
markersArray.append(marker)
i += 1
}
}
}
Run Code Online (Sandbox Code Playgroud)
迅速:
func updateMarker(coordinates: CLLocationCoordinate2D, degrees: CLLocationDegrees, duration: Double) {
// Keep Rotation Short
CATransaction.begin()
CATransaction.setAnimationDuration(0.5)
marker.rotation = degrees
CATransaction.commit()
// Movement
CATransaction.begin()
CATransaction.setAnimationDuration(duration)
marker.position = coordinates
// Center Map View
let camera = GMSCameraUpdate.setTarget(coordinates)
mapView.animateWithCameraUpdate(camera)
CATransaction.commit()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4668 次 |
| 最近记录: |