Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 查找两条多段线之间的角度_Iphone_Ios_Mkmapview_Mkpolyline - Fatal编程技术网

Iphone 查找两条多段线之间的角度

Iphone 查找两条多段线之间的角度,iphone,ios,mkmapview,mkpolyline,Iphone,Ios,Mkmapview,Mkpolyline,我正在MkMapView中的MKPolyLineView上的两组坐标之间绘制MKPolyLines。一条线是从一个点到另一个点的实际路线,而另一条线是两个点之间的最短距离。我已经成功地画出了两组线。现在我需要找到两条线之间的角度和方向。尽管我努力了,但还是没能想出任何有用的办法。需要帮助 这就是我绘制多段线的方式 self.routeLine = [MKPolyline polylineWithCoordinates:pointsToUse count:[array count]]; self.

我正在MkMapView中的MKPolyLineView上的两组坐标之间绘制MKPolyLines。一条线是从一个点到另一个点的实际路线,而另一条线是两个点之间的最短距离。我已经成功地画出了两组线。现在我需要找到两条线之间的角度和方向。尽管我努力了,但还是没能想出任何有用的办法。需要帮助

这就是我绘制多段线的方式

self.routeLine = [MKPolyline polylineWithCoordinates:pointsToUse count:[array count]];
self.straightLine = [MKPolyline polylineWithCoordinates:straightLinePoints count:2];

[self.map addOverlay:self.routeLine];
[self.map addOverlay:self.straightLine];

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
if(overlay == self.routeLine){
// ylineView *polyLineView = [[MKPolylineView alloc] initWithPolyline:self.polyLine];
polyLineView = [[MKPolylineView alloc] initWithPolyline:self.routeLine];
polyLineView.lineWidth = 2;
polyLineView.strokeColor = [UIColor lightGrayColor];
polyLineView.backgroundColor = [UIColor grayColor];
return polyLineView;
}
else{
    polyLineView = [[MKPolylineView alloc] initWithPolyline:self.straightRouteLine];
    polyLineView.lineWidth = 2;
    polyLineView.strokeColor = [UIColor redColor];
    polyLineView.backgroundColor = [UIColor redColor];
    return polyLineView;
}
}
self.routeLine=[MKPolyline polyline polylineWithCoordinates:pointsToUse count:[array count]];
self.slaightline=[MKPolyline polylineWithCoordinates:slaightlinepoints count:2];
[self.map addOverlay:self.routeLine];
[self.map addOverlay:self.slightline];
-(MKOverlayView*)地图视图:(MKMapView*)地图视图覆盖:(id)覆盖
{
if(叠加==自布线){
//ylineView*polyLineView=[[MKPolylineView alloc]initWithPolyline:self.polyLine];
polyLineView=[[MKPolylineView alloc]initWithPolyline:self.routeLine];
polyLineView.lineWidth=2;
polyLineView.strokeColor=[UIColor lightGrayColor];
polyLineView.backgroundColor=[UIColor grayColor];
返回多段线视图;
}
否则{
polyLineView=[[MKPolylineView alloc]initWithPolyline:self.straightRouteLine];
polyLineView.lineWidth=2;
polyLineView.strokeColor=[UIColor redColor];
polyLineView.backgroundColor=[UIColor redColor];
返回多段线视图;
}
}

我用Python编写了一些这样做的代码。我可以在回家后发布代码,但看起来是这样的:

angle = atan2(y2 - y1, x2 - x1) * 180 / PI;

如果两条直线都不是直线,那么两条直线之间就没有一个角度。既然你的两条线都在同一个点上,你在说什么角度?也许可以提供一张照片。