Iphone 如何实现我在自己的代码中找到的答案?

Iphone 如何实现我在自己的代码中找到的答案?,iphone,ios,xcode,google-maps,mapkit,Iphone,Ios,Xcode,Google Maps,Mapkit,我是一个业余程序员,最近才开始尝试xcode。 我在谷歌上搜索,试图在我的应用程序中找到我当前问题的答案。(我稍后会讲到这一点。) 我在Stackoverflow.com上找到了一个很好的答案,尽管我不知道如何在我自己的代码中实现它。(链接:) 编辑:基本上:我使用的是一个tabbar应用程序,其中一个选项卡中有一个地图视图,您可以根据编码看到,我有一些东西,如混合、卫星等,还有一个坐标的注释针,显示一个位置,当您单击它时,您可以看到一个按钮。正是从这里,我不知道该怎么办,因为我想让这个按钮将你

我是一个业余程序员,最近才开始尝试xcode。 我在谷歌上搜索,试图在我的应用程序中找到我当前问题的答案。(我稍后会讲到这一点。) 我在Stackoverflow.com上找到了一个很好的答案,尽管我不知道如何在我自己的代码中实现它。(链接:)


编辑:基本上:我使用的是一个tabbar应用程序,其中一个选项卡中有一个地图视图,您可以根据编码看到,我有一些东西,如混合、卫星等,还有一个坐标的注释针,显示一个位置,当您单击它时,您可以看到一个按钮。正是从这里,我不知道该怎么办,因为我想让这个按钮将你链接到你iphone上的“地图”应用程序,从你当前的位置告诉你去那个位置的方向。这个问题是在我写的链接中提出的。它得到了一个答案,尽管我不知道如何在我自己的代码中实现这一点

以下是我自己的代码:

ViewController.h

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface SecondViewController : UIViewController{
MKMapView *mapview;
}

@property (nonatomic, retain) IBOutlet MKMapView *mapview;
-(IBAction)setMap:(id)sender;
-(IBAction)getlocation;

@end
#导入
#进口
@界面SecondViewController:UIViewController{
MKMapView*mapview;
}
@属性(非原子,保留)IBMMapView*mapview;
-(iAction)setMap:(id)发送方;
-(i)获取位置;
@结束
ViewController.m

#import "SecondViewController.h"
#import "Annotation.h"

@implementation SecondViewController
@synthesize mapview;
-(IBAction)getlocation {
mapview.showsUserLocation = YES;
}
-(IBAction)setMap:(id)sender {
switch (((UISegmentedControl *) sender).selectedSegmentIndex) {
    case 0:
        mapview.mapType = MKMapTypeStandard;
        break;
    case 1:
        mapview.mapType = MKMapTypeSatellite;
        break;
    case 2:
        mapview.mapType = MKMapTypeHybrid;
        break;
    default:
        break;
}
}


-(void)viewDidLoad {



[super viewDidLoad];
[mapview setMapType:MKMapTypeStandard];
[mapview setZoomEnabled:YES];
[mapview setScrollEnabled:YES];
[mapview setDelegate:self];

MKCoordinateRegion bigBen = { {0.0, 0.0} , {0.0, 0.0} };
bigBen.center.latitude = 38.849977;
bigBen.center.longitude = -122.519531;
bigBen.span.longitudeDelta = 0.02f;
bigBen.span.latitudeDelta = 0.02f;
[mapview setRegion:bigBen animated:YES];

Annotation *ann1 = [[Annotation alloc] init];
ann1.title = @"Name";
ann1.subtitle = @"Street";
ann1.coordinate = bigBen.center;
[mapview addAnnotation: ann1];
}

-(MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {
MKPinAnnotationView *MyPin=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"current"];


UIButton *advertButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
if ([[annotation title] isEqualToString:@"The Place"]) {
    [advertButton addTarget:self action:@selector(BigBenClicked:) forControlEvents:UIControlEventTouchUpInside];
}


MyPin.rightCalloutAccessoryView = advertButton;
MyPin.draggable = NO;
MyPin.highlighted = YES;
MyPin.animatesDrop=TRUE;
MyPin.canShowCallout = YES;

return MyPin;
}

-(void)button:(id)sender {

NSLog(@"Button action");

}


@end
#导入“SecondViewController.h”
#导入“Annotation.h”
@第二视图控制器的实现
@综合地图视图;
-(iAction)获取位置{
mapview.showsUserLocation=是;
}
-(iAction)setMap:(id)发送方{
开关(((UISegmentedControl*)发送器。已选择分段索引){
案例0:
mapview.mapType=MKMapTypeStandard;
打破
案例1:
mapview.mapType=MKMapTypeSatellite;
打破
案例2:
mapview.mapType=MKMapTypeHybrid;
打破
违约:
打破
}
}
-(无效)viewDidLoad{
[超级视图下载];
[mapview setMapType:MKMapTypeStandard];
[mapview SetZoomeEnabled:是];
[地图视图设置可克隆:是];
[mapview setDelegate:self];
MKCoordinateRegion bigBen={{0.0,0.0},{0.0,0.0};
大本中心纬度=38.849977;
bigBen.center.longitude=-122.519531;
bigBen.span.longitudeDelta=0.02f;
bigBen.span.latitudeDelta=0.02f;
[地图视图设置区域:bigBen动画:是];
注释*ann1=[[Annotation alloc]init];
ann1.title=@“名称”;
ann1.subtitle=@“街道”;
ann1.coordinate=bigBen.center;
[地图视图添加注释:ann1];
}
-(MKAnnotationView*)地图视图:(MKMapView*)地图视图注释:(id)注释{
MKPinAnnotationView*MyPin=[[MKPinAnnotationView alloc]initWithAnnotation:annotation重用标识符:@“current”];
UIButton*advertButton=[UIButton Button类型:UIButtonTypedTailDisclosure];
如果([[annotation title]isEqualToString:@“The Place”]){
[AdverButton addTarget:self action:@selector(BigBenClicked:)for ControlEvents:UIControlEventTouchUpInside];
}
MyPin.rightCalloutAccessoryView=广告按钮;
MyPin.draggable=否;
MyPin.highlighted=是;
MyPin.animatesDrop=TRUE;
MyPin.canShowCallout=是;
返回MyPin;
}
-(无效)按钮:(id)发送者{
NSLog(“按钮动作”);
}
@结束

干杯

您已经设置了按钮按下时的选择器。只要实现这个方法,它就会工作

-(void)BigBenClicked:(id)sender {
    NSURL *url = [self getURL];
    [[UIApplication sharedApplication] openURL:url];
}

你的问题是什么?如何实现我在我自己的编码链接中找到的答案。我想你必须更具体一点-你在这里问的问题还不清楚。基本上:我使用的是一个tabbar应用程序,其中一个选项卡中有一个地图视图,你可以从编码中看到,我有混合型、卫星型等,以及一个坐标的注释针,该坐标显示一个位置,当您单击它时,可以看到一个按钮。从这里开始,我不知道该怎么办,因为我想让这个按钮将你链接到你iphone上的“地图”应用程序,让你从你当前的位置知道去那个位置的方向。这个问题是在我写的链接中提出的。它得到了一个答案,尽管我不知道如何在我自己的编码中实现它。就是这样,我对编码完全陌生,所以我不确定在哪里实现或实现什么!嘿!。。请参阅我的编辑。实现一个getURL方法,该方法返回在其他代码中生成的URL。就这么简单。用“—(无效)按钮:(id)发送者”来切换它?因为没有可见的@interface声明扇区“getURL”(是的,我的编码知识太深了),但是为真正帮助我干杯!我可能已经解决了它,对我来说唯一的问题是:“[self.locationManager stopdationlocation];”找不到“locationManager”(ofc),那么根据我的编码,它应该说什么呢?本以为我解决了它,但我到达了断点2.1。。。