问题标签 [mkoverlay]

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 回答
1221 浏览

ios - 倒置 MKPolygon(由内而外)

我第一次使用 MKPolygon 和 MKPolygonView 作为地图叠加层。我可以在一个区域上放置一个形状,填充颜色填充多边形的内部。

我正在寻找一种方法来在我的地图上的任何地方放置填充,除了多边形的内部。有谁知道如何轻松做到这一点?

0 投票
1 回答
710 浏览

ios - MKOverlayView 性能问题。什么也不做。但是慢

我使用以下代码在 iPad 上进行了测试。

如果我像下面的代码一样添加 MyOverlay,即使在 drawMapRect 中什么都不做,MKMapView 加载默认地图图块也会变慢。

如果我从 MKMapView 中删除 MyOverlay,默认地图图块的加载会再次变快。

我想知道调用 drawMapRect 时在后台做了什么。

或者下面的代码对性能有什么问题?

[代码]

0 投票
0 回答
353 浏览

objective-c - MKPolylineView 的 strokeColor 属性没有响应

我的 mapView:viewForOverlay: 方法有这个:

叠加可以正常工作,但对于 strokeColor。它只是没有出现。如果我只使用 strokeColor 而没有 fillColor 我什么也看不到。

我是否在这里遗漏了什么,因为 MKOverlayPathView 类参考说“此类的默认绘制行为是应用对象的当前填充属性,填充路径,应用当前笔触属性,然后描边路径。”

0 投票
1 回答
2566 浏览

ios - 来自 MKPolylineView 的标注?

当一个人触摸 MKPolylineView 时,有什么方法可以显示标注?我试图添加一个 UITapGestureRecognizer 并在选择器中显示某个坐标的标注。但没有用。有什么建议吗?

以下是我尝试的方法

0 投票
1 回答
1609 浏览

ios - 减去两个 MKCircle 或者我如何在 MapKit 的地图上画一个环?

我正在尝试向 MapKit 中的地图添加环形叠加层。

我可以从另一个 MKCircleView 中减去一个 MKCircleView,还是需要编写自己的自定义叠加层?

在此处输入图像描述

0 投票
1 回答
724 浏览

iphone - MKOverlay 有时会消失

我的地图中有两个叠加选项:一个 MKCircleOverlay 和一个 MKPolygonOverlay。第一个是可变半径,通过 UISlider 控制。最后一个可根据角的数量和位置进行自定义。如果我很快改变圆的半径(降低 UISlider 的值)有时我的叠加层消失(圆圈),之后无法再绘制多边形(当然也是圆圈)。应用程序不会崩溃。它可能是什么?

这是我使用的一些代码:

0 投票
2 回答
1573 浏览

objective-c - 圆的boundingMapRect

对于 MKMapView 覆盖,我需要计算一个圆的 boundingMapRect。我有它的中心坐标和半径(以米为单位) - 但不知道如何获得相应的 boundingMapRect。作为解决方法,我创建了一个具有相同数据的 MKCircle 并从中使用 boundingMapRect。但是……至少,这并不优雅。

那么:如何为具有给定半径和中心的圆计算 boundingMapRect?

0 投票
2 回答
2868 浏览

ios - setNeedsDisplayInMapRect 不会触发新的 drawMapRect:调用

我正在使用自定义MKOverlay/MKOverlayView完全覆盖谷歌底图,我自己的瓷砖是异步加载的。canDrawMapRect:zoomScale:当我收到对我的覆盖视图的调用(并在这种情况下返回 FALSE)时,我遵循请求卸载的图块的模式,然后setNeedsDisplayInMapRect:zoomScale:在图块可用时调用。

这一切通常都有效,并且似乎在模拟器中完美运行。

然而,在设备上,我有时会在覆盖层中看到一个“洞”——一块缺失的瓷砖。

我可以看到请求了磁贴,并且请求完成了。我可以看到我打电话给我setNeedsDisplayInMapRect:zoomScale:,并且我正在传递原件MKMapRectMKZoomScale其中提供了canDrawMapRect:zoomScale:. 但我也可以看到,从不要求覆盖层重绘该图块(canDrawMapRect:zoomScale:drawMapRect:zoomScale:inContext:不会再次调用该图块)。

我需要了解为什么会发生这种情况以及如何纠正它。

这是我的 MKOverlayView 子类中的相关代码:

编辑我猜这可能是问题所在。

0 投票
0 回答
660 浏览

iphone - 透明度/Alpha 和 MKOverlayView 问题

在与 MKOverlayViews 和 MKMapKit 的许多问题作斗争之后,我发现自己又遇到了一个问题。我正在使用 MKOverlayPathView 子类在屏幕上绘制一个奇异的大覆盖(它目前覆盖伦敦)。在那个叠加层中有很多彩色方块供争论:

上面的代码不完整,但为这个问题提供了坚实的基础。无论我要绘制多少个正方形,该代码都可以正常工作并且执行得非常快。我遇到的问题是低于某个点,我没有绘制此叠加层;我在包含地图的视图控制器中管理它:

同样,这段代码现在可以很好地满足我的目的。问题是当我放大到不显示集群的级别时,但是当我缩小时,单个注释是在我缩小覆盖层时呈现的,没有透明度。可见:

Overlay Cluster 部分失去透明度/Alpha

作为脚注。从覆盖中删除 setAlpha 并修改绘制正方形的代码以读取:

解决了这个问题,但是将 alpha 通道应用到整个覆盖层肯定会更有效。

0 投票
1 回答
462 浏览

iphone - MKPolygon 未绘制

我试图在我的地图视图上绘制一个 MKPolygon(一个三角形),但它没有显示出来。我还画了一条线,它出现了,所以我不确定为什么三角形没有。以下是相关代码:

三角形的点似乎是正确的:(这里的一个测试:base x: 43.000000 y: 25.500000 ax: 50.000000 y: 58.000000 bx: 73.000000 y :38.000000),但是 viewForOverlay 永远不会被调用......