问题标签 [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 - 使用 Core Graphics 在 MKMapView 上绘制自定义叠加层不会显示在地图上
我正在使用 iOS 7 并扩展了 MKOverlayPathRenderer,以便在 MKMap 上绘制自定义叠加层。
我已经实现了 MKOverlayPathRenderer 类的以下方法,并且 NSLog 输出显示当我期望时调用代码来绘制上下文。但是,自定义叠加层根本不会显示在地图上。
这是(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id < MKOverlay >)overlay
我的 MKMapViewDelegate 方法中的代码:
我真的很感激一些关于为什么这可能不会在 MKMapView 上呈现的线索。
非常感谢
ios - 地图视图。像 zoomDidChange 这样的回调
我想要回调,然后地图确实改变了缩放。
我尝试使用
但它回调,当变化是显着的。
ios - MKMapView:设置区域时未显示注释的标注
我在 上显示了几个自定义注释视图MKMapView
,当用户点击其中一个时,我将区域更改为以它为中心:
我看到,当注释已经或多或少显示在地图的中心时,会显示标注,但是当我点击靠近地图边界的注释并且该区域必须“移动更多”时,它不会显示. 我尝试在区域设置动画结束后选择注释:
但标注均未显示。如果我在点击时没有以编程方式更改区域,则会显示所有标注。我怎么能解决这个问题?
谢谢
google-maps - MKMapView 不会缩小
我将地图以用户位置为中心,或者以默认位置为中心,缩放级别约为 30 英里。问题是我可以放大但不能缩小。
每当我尝试缩小我的 iPhone 5C 时,当我松开手指时,地图会立即重新放大。
我尝试添加 mapView 方法 regionDidChangeAnimated 和 didChangeDragState 以确保我正在重置视图的区域和中心,但这些似乎都没有改变缩小的能力。
无法弄清楚我在这里错过了什么。谢谢你的帮助!
ios - 在 MKMapView 中标记位置
我正在尝试在地图视图中标记一个位置。
首先,我MKAnnotation
在这样的单独类中实现了协议。
地址注解.h
地址注释.m
然后在视图控制器中,我实现了MKMapViewDelegate
.
在viewDidLoad
方法中,我初始化了一个AddressAnnotation
类的实例。
我不断收到以下错误。
-[AddressAnnotation setCoordinate:]:无法识别的选择器发送到实例
我不确定我在这里做错了什么。有人可以帮我吗?
谢谢你。
ios - iOS MKMapView“错误无法确定附近的位置”
我正在实现一个 MKMapView 应用程序,它工作正常,但每次我在我的设备上安装应用程序进行测试时都会收到此错误。
在控制台上我没有看到任何错误。你们中的任何人都知道错误的原因或如何解决?
我会非常感谢你的帮助。
ios7 - 无法覆盖单点触控上的 GetRendererForOverlay
我想在我的上面画一个叠加层,MKMapView
所以我定义了这个delegate
类来定义叠加层的视图。但如您所见,似乎从 iOS 7 开始,建议我们使用GetRendererForOverlay
而不是GetViewForOverlay
. 问题是我找不到任何按名称GetRendererForOverlay
覆盖的方法。用更好的话来说,似乎MKMapViewDelegate
没有任何用于覆盖的虚拟方法GetRendererForOverlay
。那么我们应该如何使用它呢?
我阅读了注释中建议的文档,但我没有找到任何关于 GetRendererForOverlay 的信息。
objective-c - rendererForOverlay 没有被调用....从 MKOverlayView 更新到 MKOverlayRenderer
我有一个MKOverlayView
类的工作扩展,mapview 委托完美地触发和执行 – mapView:viewForOverlay
: 委托方法。因此,为了摆脱已弃用的类,我将扩展范围更改MKOverlayView
为 extend MKOverlayRenderer
... 这样做,但将viewForOverlay
方法保留在适当的位置可以正常工作...。
但是,委托方法viewForOverlay
也已弃用,因此我将其替换为rendererForOverlay
与非弃用 API 保持一致的方法,并且它永远不会被触发...
的代表MapView
已正确连接,(viewForOverlay
工作证明了这一点,但是当我用rendererForOverlay
它替换这个方法时,它永远不会触发......因此我的覆盖不会被绘制。这使得对我来说没有意义。
我非常茫然,唯一有效的版本和不有效的版本之间的不同就是这种方法。即使在我将我的类从MKOverlayView
扩展更改为MKOverlayRenderer
扩展之后,只要该viewForOverlay
方法存在于委托中,覆盖仍然会绘制,它就会被调用。但是,当我将viewForOverlay
委托方法替换为rendererForOverlay
nada 方法时。
这是代码:
无论是扩展类还是MapOverlayView
扩展类,此方法都可以正常工作,并且调用此委托方法并呈现覆盖。MKOverlayView
MKOverlayRenderer
对于这个方法,我确保MapOverlayView
它总是在扩展MKOverlayRenderer
,但委托方法永远不会被触发。为什么上面不推荐使用的方法总是被调用和工作,但下面正确的非不推荐使用的方法永远不会被触发?
ios - mapkit 委托的异常行为
我遇到了 MapKit 代表的异常行为
当我将注释添加到mapkit并将setdelegate添加到self时,不会调用此方法。但是当我将区域设置为
然后调用委托方法。我不知道为什么会这样。有人帮助
ios - 检测结束拖动/缩放 MKMapView
有没有办法确定MKMapView
拖动和缩放是否停止?
现在我已经添加了一个UIPanGestureRecognizer
用于拖动的功能,但是当用户抬起手指时,即使地图正在滚动,MKMapView
我也会立即收到。gestureRecognizer.state == UIGestureRecognizerStateEnded
我试图弄清楚的是,当地图仍在移动和/或用户再次触摸地图以再次拖动地图时,如何防止为我的地图注释加载服务器数据?仅当地图停止移动和缩放并且在预定时间内静止不动时,才应调用数据加载机制。
这是我到目前为止实现的:
而选择器方法didDragMap:
}
选择器方法delayAddressResolving:正在从服务器加载所需的数据以显示我的注释信息。
欢迎所有笔记!