1

我创建了一个应用程序,该应用程序使用自定义图钉在自定义地图上显示不同的点,并使用披露按钮显示标题和副标题(好的)。当应用程序启动地图以创建路径然后提供方向时,就会出现问题。要从用户的位置移动,我只需输入 URL“saddr=Current Position”。当我尝试给出用户触摸的目的地时,问题就出现了,相对于触摸的引脚。

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {

    [self.navigationController pushViewController:[[UIViewController alloc] init] animated:YES];
    NSString* addr = [NSString stringWithFormat:@"http://maps.google.com/maps?daddr=%1.6f%1.6f&saddr=Posizione Attuale", mapView.annotations.coordinate.latitude mapView.annotations.coordinate.longitude];

//也mapview.annotation.coordinate.latitude/longitude 不起作用

        NSURL* url = [[NSURL alloc] initWithString:[addr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    [[UIApplication sharedApplication] openURL:url];
}

我不知道如何在这段代码中传递注释的坐标!

这是我所说的并将注释添加到我的视图中

    NSMutableArray* annotations=[[NSMutableArray alloc] init];


    CLLocationCoordinate2D theCoordinate1;
    theCoordinate1.latitude = 45.7;
    theCoordinate1.longitude = 7.64;
myAnnotation* myAnnotation1=[[myAnnotation alloc] init];

    myAnnotation1.coordinate=theCoordinate1;
    myAnnotation1.title=@"Pippo";
    myAnnotation1.subtitle=@"Ufficio";
[myMapView addAnnotation:myAnnotation1];

这重复了 4 个具有不同名称的要点(myAnnotation1、2、3、4)并协调其他!当用户触摸 1-2-3 或 4 移动正确的目的地时,我该怎么办?

提前致谢!:)

4

1 回答 1

2

calloutAccessoryControlTapped,你为什么要推一个空白的视图控制器并同时调用openURL

无论如何,注释的坐标在view.annotation.coordinate.

所以纬度是view.annotation.coordinate.latitude,经度是view.annotation.coordinate.longitude

此外,在您的addr字符串中,您在坐标之间缺少逗号。

于 2012-02-04T15:53:25.927 回答