问题标签 [mkmapviewdelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
273 浏览

ios - 单击注释视图时无法推送新视图

在我的 iphone 应用程序中,我有一个带有视图和 MKMapView 的控制器。
我在地图上显示了几个注释,但是当我单击注释视图时,“calloutAccessoryControlTapped”被触发,但我无法推送新视图。
self.navigationView 为空……最好的方法是什么?我是否需要在 MKMapView 之上创建一个导航控制器?

0 投票
1 回答
378 浏览

delegates - 在 MKMapView 的子类中不调用 MKMapViewDelegate

我是 Objective C 的新手,但学得很快。我的项目非常完整,我已经实现了比委托等更好的类。

我正在使用 MKMapView 在地图上显示内容。我还需要用户单击将返回一些信息的 Pins,但我确实希望 MKViewMap 在发送信息之前进行一些估计。

因此,我对 MKMapView 进行了子类化,并且正在使用此类进行显示。但我没有接到代表的电话。当我以标准方式使用 MKViewMap 时,它可以正常工作。这是一些代码。子类有一个委托协议,这很好用

// .h 文件

// .m 文件

后者永远不会被调用。有任何想法吗?

0 投票
2 回答
3018 浏览

iphone - 检测何时显示 MapView 瓦片

由于- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView从缓存加载切片时不会调用,有没有办法知道所有切片何时已加载(从缓存或映射服务器)并显示?

是否有任何代表团暗示已加载瓷砖?

0 投票
0 回答
285 浏览

ios - 解析 KML 时未调用 viewForOverlay 方法

我正在使用 KML 在地图视图中显示一些叠加层。解析 KML 文件后,我在地图视图中添加了叠加层,但viewForOverlay即使我将委托属性设置为地图视图,也不会调用地图视图委托方法。

这个问题的可能原因是什么?

我已经使用 KMLViewer 示例完成了它。

0 投票
1 回答
4665 浏览

objective-c - MKMapView 点击大头针不会调用 didSelectAnnotationView

我正在使用 mapView 并尝试在您单击地图上显示的图钉时弹出标注。

引脚设法放置在正确的位置,因此我认为注释有效,但是当我单击引脚时,它不会显示标注。我有显示标注 = YES。

didSelectAnnotationView当我单击图钉时,根本不会调用该方法。

是否有一些常见问题可能导致此方法无法调用?

0 投票
1 回答
162 浏览

ios - 地图上显示错误的注记视图

我正在插入一种新的注释,与以前的注释不同,它们的行为很疯狂。当显示一个区域的地图时,代表会被传递属于一个遥远区域的注释,报告他们自己的特征。然而,它们恰好出现在正确注释应该出现的位置!90% 的情况都会发生这种情况,其余的是正确的注释,并且显示的注释始终属于可用注释的严格子集。

产生这种奇怪的行为可能是什么以及如何解决它?

问题是我到处都使用了一个静态标识符。一旦我使用了一个带有依赖于注释的标识符的字符串,一切都得到了整理。

0 投票
2 回答
847 浏览

objective-c - mapViewDidFinishLoadingMap:调用过早

我的问题很简单:我正在等待 MKMapView 的屏幕截图,并且我只想在地图加载后才这样做。不幸的是,这个委托方法几乎总是在地图实际加载之前被调用。如果幸运的话,我只是得到一个网格,或者一些加载的瓷砖。有什么好方法可以做我需要做的事情吗?还是我在 MKMapViewDelegate 协议中遗漏了什么?

谢谢!

0 投票
1 回答
632 浏览

ios - ios6 visibleMapRect 不正确

我有一个以特定位置为中心的启动应用程序。

对 refreshMap 的调用会尝试计算地图的边界框,以便我可以在数据库中查询相应的信息。

我看到的问题是,在 iOS 6 中,在应用程序启动时未正确计算 lowerRight 坐标,并且由于 lowerRight.longitude > 80.0,地图数据不会刷新。正确计算了左上角。

在应用程序完成加载后,如果我平移地图,即使是最轻微的边界框计算也是正确的。

此代码在 iOS 5 中运行良好。

除了 mapView:regionDidChangeAnimated 之外,还有其他回调可以使用吗?refreshMap 的其余部分相当密集,我不想影响平移性能。

TIA

更新

我似乎找到了解决办法。而不是这样做

我把 YES 改成了 NO

现在在应用程序启动时正确计算了下角。

0 投票
2 回答
1171 浏览

ios - MKMapView 不滚动也不缩放

我有一个 MapView 并标记了用户的位置和附近还有其他关于旅游景点的各种类型的 annotationView。我希望 MapView 可以滚动和缩放以查看城市的所有 annotationView,但是当我移动 MapView 时立即返回居中拍摄,看起来很丑。

这是 MapViewController.m 中的代码

0 投票
2 回答
8830 浏览

ios - 自定义 userLocation 视图时未调用 didUpdateUserLocation

我有一个MKMapView应该使用自定义视图(而不是蓝点)来跟踪用户的位置。为了用这个视图代替蓝点,我这样返回它:

要初始化跟踪,我调用

正如所料,-mapView:didUpdateUserLocation:在应用加载时被调用一次。-mapView:viewForAnnotation:不幸的是,除非我更改为具有以下实现,否则它再也不会被调用:

通过这些更改,地图会加载蓝点作为用户位置的指示符,并-mapView:didUpdateUserLocation:像预期的那样频繁调用。

是否有某种互斥性来跟踪用户的位置并拥有自定义的用户位置视图?我怎样才能使两者都发生?

来源

这个项目演示了这个问题。https://dl.dropbox.com/u/2338382/MapKitFuckery.zip

漏洞

这很可能是一个错误,我已将其归档为雷达。在此期间,接受的答案应该证明是足够的。然而,值得注意的是,我不得不完全放弃[mapView userLocation]and [mapView showsUserLocation],转而支持简单的自定义注释和CLLocationManager.