菜鸟教程小白 发表于 2022-12-13 03:12:33

ios - 为什么 MKMapView 不显示当前位置红色图钉?


                                            <p><p>MapView 正在显示我的当前位置,但没有出现红色图钉(或蓝色圆圈)。此设备已启用定位服务。但是,红色引脚显示在模拟器上运行相同的代码。我已经设置了必需的属性:</p>

<pre><code>self.mapView.showsUserLocation = YES;
</code></pre>

<p>我正在使用自定义引脚,但是,“mapView:viewForAnnotation:”仅针对每个自定义注释调用,因此看起来此方法不会针对当前位置调用,这就是它没有显示红色引脚的原因。但是,很奇怪为什么相同的代码在模拟器上运行正确。</p>

<p><strong>更新</strong> 刚刚使用 mapView 创建了空的单 View 项目。确实添加了 self.mapView.showsUserLocation = YES 但设备上没有显示当前位置。但是模拟器中显示了一个蓝色圆圈。我在 iPhone4 上使用 iOS 6.1.2。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><code>mapView:viewForAnnotation:</code> 为当前位置调用。</p>

<p> <a href="https://developer.apple.com/documentation/mapkit/mkmapviewdelegate/1452045-mapview?language=objc" rel="noreferrer noopener nofollow">From the docs</a> :</p>

<blockquote>
<p>If the object in the annotation parameter is an instance of the
MKUserLocation class, you can provide a custom view to denote the
user’s location. To display the user’s location using the default
system view, return nil.</p>
</blockquote>

<p>在该委托(delegate)方法的实现中,检查传入的注解的类并进行相应处理(返回 nil 以使用蓝点或返回自定义 View )。</p>

<p>如果它没有被调用,则其他事情正在进行中。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 为什么 MKMapView 不显示当前位置红色图钉?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17742900/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17742900/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 为什么 MKMapView 不显示当前位置红色图钉?