ios - 自定义注释 View 未显示在 map 上
<p><p>您好,我正在尝试在 mapView 中创建自定义注释。在 mapview 中,当用户单击要显示一些文本和按钮的图钉时,我在 map 上有多个图钉制造商,因此尝试创建自定义注释 View ,但它不起作用。</p>
<p>我的代码</p>
<pre><code>#import <MapKit/MapKit.h>
#import <GoogleMaps/GoogleMaps.h>
@interface myviewcon : UIViewController<MKMapViewDelegate>
@property (strong, nonatomic) IBOutlet MKMapView *mpview;
@end
</code></pre>
<p>viewdidload 中我的 MKPointAnnotation 代码</p>
<pre><code>for (NSDictionary *dic in ) {
MKPointAnnotation *annotation = [init];
NSString *name=;
CLLocationCoordinate2D placeCoord;
placeCoord.latitude=[ doubleValue];
placeCoord.longitude=[ doubleValue];
;
;
;
}
</code></pre>
<p>还有我的自定义注释 View 代码</p>
<pre><code>- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation{
MKAnnotationView *anview = nil;
UIButton *btnViewVenue = ;
anview.rightCalloutAccessoryView=btnViewVenue;
anview.enabled = YES;
anview.canShowCallout = YES;
anview.multipleTouchEnabled = NO;
return anview;
}
</code></pre>
<p>当用户单击 map 上的 pin 制造商时,我使用上面的代码制作 customview 我已经用文本和按钮制作了 View ,我已经厌倦了这样但它不起作用我检查了代表正在调用的断点但它不起作用,请告诉如何解决这个问题。</p>
<p>提前致谢。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>要自定义您的注释,请使用:</p>
<pre><code> -(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
</code></pre>
<p>这里只添加你需要的 subview </p>
<pre><code>- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
UIView *test = [initWithFrame:CGRectMake(view.frame.origin.x - 12.5, view.frame.origin.y - 45, 50, 50)];
test.backgroundColor = ;
;
}
</code></pre>
<p>这里只是从 superView 中删除您的自定义 callOutView</p>
<pre><code>- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view
</code></pre></p>
<p style="font-size: 20px;">关于ios - 自定义注释 View 未显示在 map 上,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/29296493/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/29296493/
</a>
</p>
页:
[1]