Tag: 折线

在Google地图iOS SDK中跟踪用户path

在他开始旅行之后,我一直在试图从一个地方到另一个地方绘制用户path。 我使用Google地图iOS SDK和GMSPolyLine来绘制用户开始旅行之后的path。 正在使用locationManager:didUpdateLocation跟踪旅行,并在用户更新其位置后绘制线条。 当我们search从一个点到另一个点的path时,无法正确地绘制path,因为它发生在Google地图中。 我已经添加了截屏的差异发生。 我的应用程序: https : //www.dropbox.com/s/h1wjedgcszc685g/IMG_6555.png?dl = 0 以上是我的应用程序的截图,你可以注意到,转弯没有正确绘制 需要输出: https : //www.dropbox.com/s/poqaeadh1g93h6u/IMG_6648.png?dl = 0 任何人都可以指向我的最佳做法,绘制类似于谷歌地图的整洁path?

使用Swift 3自定义视图中的Google Maps绘制折线

我试图在自定义UIView上使用Google地图的两个地方之间绘制路线,但无法正确实施。 我的自定义视图是mapViewX。 我已经使用pod安装了Google sdk,其中包括pod“GoogleMaps”和pod“GooglePlaces”。 我把自定义类作为“GMSMapView”。 我的代码是: @IBOutlet weak var mapViewX: GMSMapView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let path = GMSMutablePath() path.add(CLLocationCoordinate2D(latitude: 37.778483, longitude: -122.513960)) path.add(CLLocationCoordinate2D(latitude: 37.706753, longitude: -122.418677)) let polyline = GMSPolyline(path: path) polyline.strokeColor = .black polyline.strokeWidth = 10.0 polyline.map = mapViewX […]

检测Swift中的GMSPolyline?

我正在努力检测在我的Google地图上绘制的GMSPolyline上的一个水龙头,它用GMSpolygones工作得很好,但同样的方法似乎不适用于折线。 我目前的方法,适用于polygones,是: if (GMSGeometryContainsLocation(coordinate, polygon.path!, false)) { … } 任何build议如何检测折线上的水龙头? 或者只是靠近它?

在mkmap视图 – iphone上绘制多边形线

我正在做一个基于导航的应用程序。 在这个应用程序中,我正在绘制从用户select的点的路线。 计算我使用Google direction API的路线。 并绘制我使用此代码的路线 – (void) drawRoute:(NSArray *) path { NSInteger numberOfSteps = path.count; [self.objMapView removeOverlays: self.objMapView.overlays]; CLLocationCoordinate2D coordinates[numberOfSteps]; for (NSInteger index = 0; index < numberOfSteps; index++) { CLLocation *location = [path objectAtIndex:index]; CLLocationCoordinate2D coordinate = location.coordinate; coordinates[index] = coordinate; } for( id <MKOverlay> ovr in [self.objMapView overlays]) { MKPolylineView *polylineView = […]

使用Google Maps SDK在地图上绘制错误的多段线

我正在尝试使用Google地图SDK在我的地图上绘制路线。 这是我调用的URL,我parsing的JSON响应的坐标数组: id jsonResponse = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; int points_count = 0; points_count = [[[[[[jsonResponse objectForKey:@"routes"] objectAtIndex:0] objectForKey:@"legs"] objectAtIndex:0] objectForKey:@"steps"] count]; NSArray *steps = nil; if (points_count && [[[[jsonResponse objectForKey:@"routes"] objectAtIndex:0] objectForKey:@"legs"] count]) { steps = [[[[[jsonResponse objectForKey:@"routes"] objectAtIndex:0] objectForKey:@"legs"] objectAtIndex:0] objectForKey:@"steps"]; } NSMutableArray *coordinates = [[NSMutableArray alloc] initWithCapacity:points_count]; for (int i = 0; […]

使用Swift绘制折线

我想了解如何使用Swift绘制多段线。 我查看了文档,引用了一些教程,并检查了一些其他的SOpost,但我仍然无法在我的地图上画线。 这是我的代码。 有人告诉我我在这里做错了什么? import UIKit import MapKit class FirstViewController: UIViewController { @IBOutlet weak var map: MKMapView! override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) let location = CLLocationCoordinate2D( latitude: -73.761105, longitude: 41.017791 ) let span = MKCoordinateSpanMake(0.07, 0.07) let region = MKCoordinateRegion(center: location, span: span) map.setRegion(region, animated: true) let annotation = MKPointAnnotation() annotation.setCoordinate(location) annotation.title = "White […]

如何使用Google Maps ios SDK跟踪用户的位置并显示path

我目前正在构build一个iOS应用程序,我希望实现一个function,用户的位置显示在Google Map视图上,当他们移动一个折线显示的path已经由用户到目前为止。 这显然需要实时发生。 到目前为止,我已经初始化一个Google Maps视图,并且可以使用observeValueForKeyPath函数显示用户的当前位置。 视图和位置标记随用户移动而更新。 我想最好的方法是创build一个GMSMutablePath对象,每当地图摄像机更新到新位置时添加用户的当前位置,然后从该path创build多段线。 我用这个代码如下: – (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if ([keyPath isEqualToString:@"myLocation"] && [object isKindOfClass:[GMSMapView class]]) { [self.myMapView animateToCameraPosition:[GMSCameraPosition cameraWithLatitude:self.myMapView.myLocation.coordinate.latitude longitude:self.myMapView.myLocation.coordinate.longitude zoom:18]]; [trackedPath addCoordinate:CLLocationCoordinate2DMake(self.myMapView.myLocation.coordinate.latitude, self.myMapView.myLocation.coordinate.longitude)]; GMSPolyline *testPoly = [GMSPolyline polylineWithPath:trackedPath]; testPoly.strokeWidth = 8; testPoly.strokeColor = [UIColor redColor]; testPoly.map = myMapView; } } 这不会在地图上产生任何折线,所以任何帮助/build议将非常感激!

在多段线/path中查找最近的点

我需要从GMSPolyline数组上的给定CLLocationCoordinate2D查找最近点。 如果更好,我可以把它转换成GMSPath 。 有没有现成的方法(或任何存储库)进行这样的计算? 我有一些执行问题。 我想知道如何创build一个algorithm: 1. for all polylines 1.1. find smallest distance between polyline and touch point, save CLLocationCoordinate2D 2. for all distances from point 1.1. 2.1. find the shortest one, it's CLLocationCoordinate2D is our point 现在的问题是如何实现点1.1 ..? 基于SOF最短距离问题 ,我写了这样的代码: – (void)findNearestLineSegmentToCoordinate:(CLLocationCoordinate2D)coordinate { GMSPolyline *bestPolyline; double bestDistance = DBL_MAX; CGPoint originPoint = CGPointMake(coordinate.longitude, […]