在mkmapview中绘制折线 - iphone

时间:2013-03-23 10:33:32

标签: iphone ios google-maps-api-3 mkmapview polyline

我正在制作基于导航的应用程序。在这个应用程序中,我正在从用户选择的点绘制一条路线。

用于计算我使用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 = [[MKPolylineView alloc] initWithPolyline:ovr];


        if (polylineView.tag == 22)
        {
            [self.objMapView removeOverlay:ovr];
        }
        [polylineView release];
    }

    MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coordinates count:numberOfSteps];
    [self.objMapView addOverlay:polyLine];


}

问题:〜当我画一条路线时,我遇到一个问题,就是它没有在路上绘制折线。为了解释这一点,我附上了一张图片

enter image description here

如图所示,折线不在路上。

我使用过UICGDirections,但有时无法正常使用。

请帮助我,我是mapview的新手。

提前致谢

1 个答案:

答案 0 :(得分:2)

下面是一个示例IPhone应用程序,使用http://maps.google.com/maps?output=dragdir&saddr=%@&daddr=%@作为URL

在MKMapView上演示绘制路径

MapWithRoutes

你可以把它作为参考,因为它实现了你想要达到的目标。