地图中的Google地图指示将应用分享到个性化注释

时间:2012-02-04 15:03:22

标签: ios google-maps annotations mapkit directions

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

- (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 /经度不起作用

        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以移动正确的目的地时,我该怎么办?

提前致谢! :)

1 个答案:

答案 0 :(得分:2)

calloutAccessoryControlTapped中,为什么要推送空白视图控制器并同时调用openURL

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

因此纬度为view.annotation.coordinate.latitude,经度为view.annotation.coordinate.longitude

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