如何在MKMapView上添加地图注释? [英] How to add a Map annotation on MKMapView?
本文介绍了如何在MKMapView上添加地图注释?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嘿,我想在我的地图上添加注释。
-
< (void)abreMapa:(NSString *)endereco {
NSString * urlString = [NSString stringWithFormat:@http://maps.google.com/maps/geo?q=%@&output = csv,
[endereco stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString * locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
NSArray * listItems = [locationString componentsSeparatedByString:@,];
double latitude = 0.0;
double longitude = 0.0;
if([listItems count]> = 4&& [[listItems objectAtIndex:0] isEqualToString:@200]){
latitude = [[listItems objectAtIndex:2 ] doubleValue];
longitude = [[listItems objectAtIndex:3] doubleValue];
}
else {
//显示错误
}
CLLocationCoordinate2D坐标;
coordinate.latitude = latitude;
coordinate.longitude = longitude;
myMap.region = MKCoordinateRegionMakeWithDistance(coordinate,2000,2000);
[self.view addSubview:mapa];
}
谢谢!
解决方案
由于MKAnnotation是一个协议,你必须定义自己的实现协议的类。例如,
@interface SPAnnotation:NSObject< MKAnnotation> {
CLLocationCoordinate2D coordinate;
}
@property(nonatomic,readonly)CLLocationCoordinate2D coordinate;
- (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate;
如果您要映射的位置有纬度,经度:
SPAnnotation * annotation = [[Annotation alloc] initWithCoordinate:CLLocationCoordinate2DMake(latitude,longitude)];
[myMap addAnnotation:annotation];
Hey, im trying to add an annotation on my map. How can i do it?
Heres my code:
- (void)abreMapa:(NSString *)endereco {
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv",
[endereco stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
NSArray *listItems = [locationString componentsSeparatedByString:@","];
double latitude = 0.0;
double longitude = 0.0;
if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) {
latitude = [[listItems objectAtIndex:2] doubleValue];
longitude = [[listItems objectAtIndex:3] doubleValue];
}
else {
//Show error
}
CLLocationCoordinate2D coordinate;
coordinate.latitude = latitude;
coordinate.longitude = longitude;
myMap.region = MKCoordinateRegionMakeWithDistance(coordinate, 2000, 2000);
[self.view addSubview:mapa];
}
Thanks!
解决方案
Since MKAnnotation is a protocol, you'll have to define your own class that implements the protocol. For example,
@interface SPAnnotation : NSObject <MKAnnotation> {
CLLocationCoordinate2D coordinate;
}
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
- (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate;
If you have a latitude, longitude for the location you'd like to map:
SPAnnotation *annotation = [[Annotation alloc] initWithCoordinate:CLLocationCoordinate2DMake(latitude, longitude)];
[myMap addAnnotation:annotation];
这篇关于如何在MKMapView上添加地图注释?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文