ios - 将叠加层添加到 Mapview
<p><p>我已经做了几个月的 iOS 开发。我已经有一个 mapView ,上面固定了几个注释,可以显示用户当前的位置。 </p>
<p>我一直在尝试通读文档以使用一组 CLLocationCoordinate2D 绘制一条线(简单的静态路线)来实现简单的覆盖。这是一场斗争</p>
<p>我的 MkOverlayRenderer 方法似乎根本没有运行。如果我没记错的话,我不应该需要 MKMapViewDelegate。我正在尝试实现 MKOverlay 委托(delegate)并拥有“@synthesize boundingMapRect;”。 </p>
<p>这是我尝试实现 Overlay 的代码</p>
<pre><code>- (void)drawLineRoute
{
CLLocationCoordinate2D purplePoints;
purplePoints = CLLocationCoordinate2DMake(28.541944, -81.382936);
purplePoints = CLLocationCoordinate2DMake(28.538447, -81.383096);
MKPolyline *purplePolyline = ;
purplePolyline.title = @"Citrus Bowl Connection";
;
}
- (MKOverlayRenderer *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{
if(])
{
MKPolygonRenderer *polyRender = [ initWithOverlay:overlay];
polyRender.lineWidth = 2;
polyRender.strokeColor = ovoPurple;
return polyRender;
}
return nil;
}
</code></pre>
<p>非常感谢任何帮助或指导。提前谢谢大家。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>有两种不同的委托(delegate)方法:</p>
<ul>
<li><p> <a href="https://developer.apple.com/library/prerelease/ios/documentation/MapKit/Reference/MKMapViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/MKMapViewDelegate/mapView:rendererForOverlay:" rel="noreferrer noopener nofollow"><code>mapView:rendererForOverlay:</code></a> ,在iOS 7中引入,返回一个<code>MKOverlayRenderer</code>;和</p></li>
<li><p> <a href="https://developer.apple.com/library/prerelease/ios/documentation/MapKit/Reference/MKMapViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/MKMapViewDelegate/mapView:viewForOverlay:" rel="noreferrer noopener nofollow"><code>mapView:viewForOverlay:</code></a> ,在 iOS 7 中已弃用,但它返回 <code>MKOverlayView</code>,而不是 <code>MKOverlayRenderer</code>。</p></li>
</ul>
<p>实现返回 <code>MKOverlayRenderer</code> 的 <code>viewForOverlay</code> 是不正确的。</p>
<p>底线,如果您需要支持 iOS 7 之前的 iOS 版本,请实现返回 <code>MKOverlayView</code> 而不是 <code>MKOverlayRenderer</code> 的 <code>viewForOverlay</code>。如果您不需要支持 7 之前的 iOS 版本,则根本不要实现 <code>viewForOverlay</code>,而是实现返回 <code>MKOverlayRenderer</code> 的 <code>rendererForOverlay</code> >.</p></p>
<p style="font-size: 20px;">关于ios - 将叠加层添加到 Mapview,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/30246853/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/30246853/
</a>
</p>
页:
[1]