问题标签 [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.
ios - 单击注释视图时无法推送新视图
在我的 iphone 应用程序中,我有一个带有视图和 MKMapView 的控制器。
我在地图上显示了几个注释,但是当我单击注释视图时,“calloutAccessoryControlTapped”被触发,但我无法推送新视图。
self.navigationView 为空……最好的方法是什么?我是否需要在 MKMapView 之上创建一个导航控制器?
delegates - 在 MKMapView 的子类中不调用 MKMapViewDelegate
我是 Objective C 的新手,但学得很快。我的项目非常完整,我已经实现了比委托等更好的类。
我正在使用 MKMapView 在地图上显示内容。我还需要用户单击将返回一些信息的 Pins,但我确实希望 MKViewMap 在发送信息之前进行一些估计。
因此,我对 MKMapView 进行了子类化,并且正在使用此类进行显示。但我没有接到代表的电话。当我以标准方式使用 MKViewMap 时,它可以正常工作。这是一些代码。子类有一个委托协议,这很好用
// .h 文件
// .m 文件
后者永远不会被调用。有任何想法吗?
iphone - 检测何时显示 MapView 瓦片
由于- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView
从缓存加载切片时不会调用,有没有办法知道所有切片何时已加载(从缓存或映射服务器)并显示?
是否有任何代表团暗示已加载瓷砖?
ios - 解析 KML 时未调用 viewForOverlay 方法
我正在使用 KML 在地图视图中显示一些叠加层。解析 KML 文件后,我在地图视图中添加了叠加层,但viewForOverlay
即使我将委托属性设置为地图视图,也不会调用地图视图委托方法。
这个问题的可能原因是什么?
我已经使用 KMLViewer 示例完成了它。
objective-c - MKMapView 点击大头针不会调用 didSelectAnnotationView
我正在使用 mapView 并尝试在您单击地图上显示的图钉时弹出标注。
引脚设法放置在正确的位置,因此我认为注释有效,但是当我单击引脚时,它不会显示标注。我有显示标注 = YES。
didSelectAnnotationView
当我单击图钉时,根本不会调用该方法。
是否有一些常见问题可能导致此方法无法调用?
ios - 地图上显示错误的注记视图
我正在插入一种新的注释,与以前的注释不同,它们的行为很疯狂。当显示一个区域的地图时,代表会被传递属于一个遥远区域的注释,报告他们自己的特征。然而,它们恰好出现在正确注释应该出现的位置!90% 的情况都会发生这种情况,其余的是正确的注释,并且显示的注释始终属于可用注释的严格子集。
产生这种奇怪的行为可能是什么以及如何解决它?
问题是我到处都使用了一个静态标识符。一旦我使用了一个带有依赖于注释的标识符的字符串,一切都得到了整理。
objective-c - mapViewDidFinishLoadingMap:调用过早
我的问题很简单:我正在等待 MKMapView 的屏幕截图,并且我只想在地图加载后才这样做。不幸的是,这个委托方法几乎总是在地图实际加载之前被调用。如果幸运的话,我只是得到一个网格,或者一些加载的瓷砖。有什么好方法可以做我需要做的事情吗?还是我在 MKMapViewDelegate 协议中遗漏了什么?
谢谢!
ios - ios6 visibleMapRect 不正确
我有一个以特定位置为中心的启动应用程序。
对 refreshMap 的调用会尝试计算地图的边界框,以便我可以在数据库中查询相应的信息。
我看到的问题是,在 iOS 6 中,在应用程序启动时未正确计算 lowerRight 坐标,并且由于 lowerRight.longitude > 80.0,地图数据不会刷新。正确计算了左上角。
在应用程序完成加载后,如果我平移地图,即使是最轻微的边界框计算也是正确的。
此代码在 iOS 5 中运行良好。
除了 mapView:regionDidChangeAnimated 之外,还有其他回调可以使用吗?refreshMap 的其余部分相当密集,我不想影响平移性能。
TIA
更新
我似乎找到了解决办法。而不是这样做
我把 YES 改成了 NO
现在在应用程序启动时正确计算了下角。
ios - MKMapView 不滚动也不缩放
我有一个 MapView 并标记了用户的位置和附近还有其他关于旅游景点的各种类型的 annotationView。我希望 MapView 可以滚动和缩放以查看城市的所有 annotationView,但是当我移动 MapView 时立即返回居中拍摄,看起来很丑。
这是 MapViewController.m 中的代码
ios - 自定义 userLocation 视图时未调用 didUpdateUserLocation
我有一个MKMapView
应该使用自定义视图(而不是蓝点)来跟踪用户的位置。为了用这个视图代替蓝点,我这样返回它:
要初始化跟踪,我调用
正如所料,-mapView:didUpdateUserLocation:
在应用加载时被调用一次。-mapView:viewForAnnotation:
不幸的是,除非我更改为具有以下实现,否则它再也不会被调用:
通过这些更改,地图会加载蓝点作为用户位置的指示符,并-mapView:didUpdateUserLocation:
像预期的那样频繁调用。
是否有某种互斥性来跟踪用户的位置并拥有自定义的用户位置视图?我怎样才能使两者都发生?
来源
这个项目演示了这个问题。https://dl.dropbox.com/u/2338382/MapKitFuckery.zip
漏洞
这很可能是一个错误,我已将其归档为雷达。在此期间,接受的答案应该证明是足够的。然而,值得注意的是,我不得不完全放弃[mapView userLocation]
and [mapView showsUserLocation]
,转而支持简单的自定义注释和CLLocationManager
.