如何根据谷歌地图中的坐标将我的标记位置移动到另一个位置

时间:2016-05-19 07:35:20

标签: objective-c google-maps

目前我正在制作类似于超级的应用程序,我希望在用户地图上显示驱动程序移动位置。我已经根据这些坐标获得了如何在地图上移动标记的驱动程序坐标。

Ex:目前我正在制作两个应用程序,一个是用户端,另一个是驱动程序端。 如果用户想要从一个地方旅行到另一个地方。那时用户应该请求特定的驱动程序。

如果司机接受该请求意味着在用户方面,我将获得驾驶员当前位置纬度&经度,但问题是我需要在GoogleMaps上显示带有移动动画的Driver Car(自定义图像)图像

如果有人知道。请帮我解决一下这个问题?

2 个答案:

答案 0 :(得分:0)

  
      
  1. 在标记上显示自定义图像:
  2.   
    marker = [[GMSMarker alloc] init];

    marker.position = CLLocationCoordinate2DMake(lat,
                                                lng);
    [marker setIcon:[UIImage imageNamed:kMarkerImage]];
    marker.map = self.mapView_;
  
      
  1. 制作动画动画
  2.   

如果您获得驾驶员协调员,则必须HTTP继续(1-2 sec delay in each call)请求。

如果您正在使用用户坐标,那么您也必须执行相同的步骤。

然后您必须先Clear地图,否则您会在其上添加multiple标记。然后使用NewCordinates添加新标记。

 [self.mapView_ clear];

答案 1 :(得分:0)

采用CLLocationCoordinate2D类型的两个变量:

Last_Location = last locaiton of your marker
Current_Location = current location of marker

最初Last_Location和Current_Location在获得第一次位置更新后将是相同的,写下面的代码:

    let p1: MKMapPoint = MKMapPointForCoordinate(Last_Location)
    let p2: MKMapPoint = MKMapPointForCoordinate(Current_Location)
    let dist: CLLocationDistance = MKMetersBetweenMapPoints(p1, p2)
    CATransaction.begin()
    CATransaction.setAnimationDuration(6.0)
    your_marker.position = Last_Location
    your_marker.position = Current_Location
    CATransaction.commit()

    Last_Location = Current_Location

获取新位置更新后调用上面的代码行。希望这会有所帮助: - )