我有一个带有许多视图的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;
}
}
}
这一切都完美无缺,但我想要设置一个已定义的位置而不是当前位置。有什么想法吗?
由于
答案 0 :(得分:0)
添加实现MKAnnotation协议的类,如:http://trac.ilesansfil.org/browser/branches/ilesansfil_iphone_app/STABLE_1.3/Models/LocationAnnotation.h
导入头文件 并尝试
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获取纬度和经度,但这需要完整的教程。