使用MapKit显示特定位置

时间:2011-06-10 22:34:13

标签: iphone objective-c xcode mapkit

我有一个带有许多视图的iPhone应用程序,每个视图代表了世界的一部分。当我的用户点击按钮将它们带到该视图时,我想显示一个带有预设位置的地图......即。当点击去纽约它显示纽约地图

这可能吗?指定纬度和经度坐标?还是通过其他方法?

到目前为止,我有以下代码,它将我的用户当前位置显示出来,并通过分段控件在混合,普通或卫星之间进行选择。

-(IBAction)getLocation {
    creteMapView.showsUserLocation = YES;
}

-(IBAction)setMap:(id)sender {

    switch (((UISegmentedControl *)sender).selectedSegmentIndex)
    {
        case 0:
        {
            creteMapView.mapType = MKMapTypeStandard;
            break;
        }
        case 1:
        {
            creteMapView.mapType = MKMapTypeSatellite;
            break;
        }
        case 2:
        {
            creteMapView.mapType = MKMapTypeHybrid;
            break;
        }
    }
}

这一切都完美无缺,但我想要设置一个已定义的位置而不是当前位置。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

添加实现MKAnnotation协议的类,如:http://trac.ilesansfil.org/browser/branches/ilesansfil_iphone_app/STABLE_1.3/Models/LocationAnnotation.h

http://trac.ilesansfil.org/browser/branches/ilesansfil_iphone_app/STABLE_1.3/Models/LocationAnnotation.m

导入头文件 并尝试

CLLocationCoordinate2D coordinate1;
    coordinate1.longitude = 3.35;
    coordinate1.latitude = 44.85;
    LocationAnnotation *loc1 = [[LocationAnnotation alloc] initWithCoordinate:coordinate1];
    [creteMapView addAnnotation:loc1];

这会在您的地图中添加一个图钉

如果您需要,还可以删除用户位置:

creteMapView.showsUserLocation = NO;

答案 1 :(得分:0)

在MKMapView中使用 setRegion 。它需要你使用MKCoordinateRegionMake制作的MKCoordinateRegion,其中心坐标(lat,long)和span(覆盖区域)。 您可以通过Google地图等API获取纬度和经度,但这需要完整的教程。