问题标签 [mkpolygon]
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 - MKOverlayRenderer 不渲染
我无法让 MKPolygonRenderer 出现在我的地图上。我有一个MapViewController
包含 的类MKMapView
,并创建CustomMapOverlay
实例以在MKMapView
.
MapViewController.m:
CustomMapOverlay.m:
mapView:rendererForOverlay
被调用,并检查overlay
调试器中coordinate
的它说它确实)。boundingMapRect
MKMapPointsPerMeterAtLatitude
但是,地图上没有出现多边形。
更新:
我现在意识到我正在尝试渲染多边形而不创建它们。CustomMapOverlay
那么,我现在正在生成MKPolygon
这样的叠加层,而不是:
但是,现在mapView:rendererForOverlay
根本不再被调用。
ios - 在 MKMapView 中创建覆盖当前区域的方形叠加层
如何创建一个覆盖 MKMapView 的当前区域的 Square Overlay。我的 MKMapView 设置了用户当前位置的坐标,但它们是中心坐标。如何计算正方形坐标,以便创建一个完全适合当前视图的正方形叠加层?
多谢你们!
xcode - 从 SQLite 读取坐标并创建一个 MKPolygon
我找到了很多示例,但仍然无法成功在 MKMapView 上显示动态创建的 MKPolygon。我有一个具有多边形坐标的 SQLite 数据库。我想从 db 中读取坐标,然后创建一个多边形。这应该不难。
首先我正在读取该行,然后我计算记录中的坐标数(dbCount),然后我正在创建一个这样的数组:
然后在 for 循环中,我将坐标填充到 dbCoord 数组中,如下所示:
但 dbCoord 数组不包含所有坐标。recCounter 正在增加每个循环,但该数组中只有一项。
ios - MKPolygon 初始化错误“调用中的参数“interiorPolygons”缺少参数”/“调用中的额外参数”
我正在尝试将清单 6-9MKPolygon
中 MapKit参考中的 Objective-C 代码转换为 Swift。
当我使用
初始化函数,我得到错误:
调用中缺少参数“interiorPolygons”的参数
当我使用interiorPolygons 参数调用该函数时,出现错误:
通话中的额外参数
这是我正在使用的代码。
更新:
似乎摆脱了编译器错误,但仍然没有添加覆盖。
ios - MKPolygon 交点
我正在MKmapView
像这样绘制一个多边形:
在那之后,我可以拖我的观点。我想知道如何检查多边形上折线的交点(边缘)?
ios - MKPolygon 中的邮政编码
我正在尝试查找包含在 MKPolygon 叠加层中的邮政编码。我知道找到包含坐标的邮政编码很简单。那么多边形所包含的区域呢?
我正在考虑的几种方法:
只需使用多边形边界线的坐标中的邮政编码。这种方法的不准确性会随着多边形面积的增加而增加。
检查多边形边界内的 CGPath 中的点,转换为地图坐标,并获取其邮政编码。虽然您可以检查路径是否包含一个点,但您无法将路径中的各个点转换为坐标(因为它们太多了)。
获取多边形边界线上的点之一的位置(城市),获取该位置内的所有邮政编码,并检查它们是否与多边形相交。我仍在研究如何实际实施。
非常感谢更多/更好的想法!
ios7 - 使用 Swift 的 MKPolygon(调用中的参数“interiorPolygons”缺少参数)
开发人员,我正在尝试在地图视图上实现多边形叠加,如下所示:
出现以下错误:
调用中缺少参数“interiorPolygons”的参数
根据文档: Apple Docu:
可变指针
当函数被声明为采用 UnsafeMutablePointer 参数时,它可以接受以下任何一种:
- nil,作为空指针传递
- UnsafeMutablePointer 值
- 一个 in-out 表达式,其操作数是 Type 类型的存储左值,作为左值的地址传递
- 一个 in-out [Type] 值,作为指向数组开头的指针传递,并在调用期间延长生命周期
现在我认为我的方法是正确的,提供一个 [CLLocationCoordinate2D] 数组。有没有人遇到过同样的问题并找到了解决方法?
谢谢罗尼
ios - 验证 latlong 是否在 iOS 中的 MKPolygon 内
我正在验证 latlong( CLLocationCoordinate2D
) 是否在绘制在 MKMapview 上的 MKPolygon 内。
我正在使用下面的代码在 MKMapview 上绘制 MKPolygon,
我正在使用 MKPolygon 验证 latlong,
它在正常情况下工作得很好,但是如果用户像下面这样绘制多边形,即 MKpolygon 有一些相交的点,并且在某些区域填充颜色并且在某些区域清除颜色。
如果我通过 MKPolygon 内透明颜色部分的 latlong,它应该返回 NO。但是,它返回的是。即,if(CGPathContainsPoint(mpr , NULL, mapPointAsCGP, FALSE))
是 TRUE。
当 MKPolygon 之间有交集时,我该如何解决这个问题?如果有人建议在那个清晰的颜色区域填充颜色,那就更好了。任何建议将不胜感激。
ios - iOS mapkit:MKAnnotationView 不在 MKPolygon 内居中
我有几个MKPolygons
我正在使用rendererForOverlay
方法覆盖。现在在每个这样的多边形内,我需要显示我的注释视图。
我观察到注释视图位置非常不准确。只有当我完全放大到 MKPolygon 时,我才能看到以 MKPolygon 为中心的注释视图。
我尝试设置MKAnnotationView
派生类实例的中心,但无济于事。
我尝试使用 centerOffset 属性,但无济于事。我不确定我可以传递给它什么值以使整个事物以 MKPolygon 为中心。
我正在使用我自己的MKAnnotationView
派生子类,而不是在 iOSMKPinAnnotationView
等中构建。这是我的 viewforAnnotation 实现:
更新:
事实证明,设置 centerOffset 没有效果。尝试将其设置在内部的不同位置,viewForAnnotation
但无济于事。对于任何想知道的人,我有自己的MKAnnotationView
子类,我在其中覆盖了centerOffset
setter。使用 iOS 模拟器 8.0 版进行测试。
objective-c - 将 MKPolygon Objective-C 代码转换为 Swift
我有以下 Objective-C 方法:
我尝试将其转换为 Swift:
最后,当调用委托方法时,它实际上并没有overlay
将mapView
. 我什么都看不见。
我假设这是我的self.addPolytonToMap()
方法,但我不是 100% 确定。整个场景在我的 Objective-C 项目中运行良好。
更新:
我刚刚注意到,在我的 Objective-C 版本中,points[i].latitude
一切正常,但是当我执行以下操作时,我得到了一个奇怪的输出:
println(coordsPointer[i].latitude)
输出:
1.63041663127611e-321
1.64523860065135e-321
1.65511991356818e-321
1.68970450877706e-321
1.7045264781523e-321
1.72922976044436e-321
这可以解释为什么我看不到overlay
,但是我的经验UnsafeMutablePointer<>
是有限的。