3

我需要显示一个 MKMapView,其中包含 4 个以上具有不同注释的位置以及连接这些位置的路线。我试图在 MKMapView 中显示多个位置,但我仍然无法找到如何将位置与路线连接起来。如果我以正确的方式实施它,我也试图检查它。我创建了一个“CLLocationCoordinate2D”,然后类似地为 4 点添加了纬度和经度。我创建了一个自定义对象,它实现 MKAnnotation 并返回一个 location 。

CLLocationCoordinate2D coordinate1 = CLLocationCoordinate2DMake(40.7180583 ,-74.007109);
CLLocationCoordinate2D coordinate2 = CLLocationCoordinate2DMake(40.716355 ,-74.006816);
CLLocationCoordinate2D coordinate3 = CLLocationCoordinate2DMake(40.715281 ,-74.005485);
CLLocationCoordinate2D coordinate4 = CLLocationCoordinate2DMake(40.71559 ,-74.003114);

AnnotationPoints *location1 = [[AnnotationPoints alloc] initWithCoordinate:coordinate1];
AnnotationPoints *location2 = [[AnnotationPoints alloc] initWithCoordinate:coordinate2];
AnnotationPoints *location3 = [[AnnotationPoints alloc] initWithCoordinate:coordinate3];
AnnotationPoints *location4 = [[AnnotationPoints alloc] initWithCoordinate:coordinate4];

NSArray *poiArray = [[NSArray alloc] initWithObjects:location1,location2,location3,location4,nil];
    [mapView addAnnotations:poiArray];

//Inside the Annotation Class initWithCoordinate Method is implemented this way:-
-(id)initWithCoordinate:(CLLocationCoordinate2D) c{
    coordinate=c;
    NSLog(@"%f,%f",c.latitude,c.longitude);
    return self;
}

我在这里担心的是我需要为每个位置创建一个注释点。是否有任何替代方法可以将所有点加载到一个地方。这里的另一个困难是连接所有多个点的路线。对此有什么帮助吗?非常感谢

4

1 回答 1

3

添加注释的方式很好。
不确定您关心的是什么以及“一个地方的所有点”是什么意思。
如果您想在多个位置添加图钉/注释,则必须为每个位置创建一个单独的注释对象。

绘制连接这些位置的路线需要创建叠加层(而不是“注释”)。
您想要添加一个MKPolyline地图,您将为其指定坐标列表。

要绘制折线,您不需要在每个坐标处添加注释(但如果您愿意,也可以)。

创建和添加一个MKPolyline及其对应的和MKPolylineView非常相似。请参阅此问题以获取示例:MKPolygonMKPolygonView

iPhone MKMapView - MKPolygon 问题

于 2012-10-04T15:30:19.290 回答