我正在使用Google地方信息API来获取预定义位置附近的地点。
工作正常。我应该为每个地方展示PushPins。目前,我正在为每个地方使用默认的红色图钉。
现在,我想为每个地方显示适当的图标,例如; 酒店,餐馆等....
在Android上,我的同事开发人员使用Google API响应做同样的事情。
在iPhone中,我无法找到任何此类帮助。在iPhone上有没有办法做到这一点???
答案 0 :(得分:2)
这可能无法解决您的问题。但是,有些解决方法。
我遇到过类似的问题。 我对数据进行了分类,并根据条件显示了符号。 希望这段代码能让你了解我是如何做到的。
-(MKAnnotationView*)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
MKPinAnnotationView *view = nil;
if (annotation != mapView.userLocation) {
view = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:@"myAnnotationIdentifier"];
if (!view) {
view = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"myAnnotationIdentifier"];
CustomClassAnnotation *desclosureButton = [[CustomClassAnnotation alloc] initWithFrame:CGRectMake(0, 0, 29, 31)];
[desclosureButton addTarget:self action:@selector(mapAction:) forControlEvents:(UIControlEventTouchUpInside)];
view.rightCalloutAccessoryView = desclosureButton;
view.canShowCallout = YES;
}
((CustomClassAnnotation *)view.rightCalloutAccessoryView).annotation = annotation;
if (((MapViewAnnotation *)annotation).type == 1) {
view.image = [UIImage imageNamed:@"image_type1.png"];
}
else if (((MapViewAnnotation *)annotation).type == 2) {
view.image = [UIImage imageNamed:@"image_type2.png"];
}
else if (((MapViewAnnotation *)annotation).type == 3) {
view.image = [UIImage imageNamed:@"image_type3.png"];
}
}
return view;
}
祝您好运......