【问题标题】:Partial display on mapkit viewmapkit 视图上的部分显示
【发布时间】:2011-07-18 14:28:00
【问题描述】:

我现在面临 MapKit 问题太久了,我真的需要你的帮助来找出问题可能来自哪里...... 我在 mapkit 视图上绘制国家边界。为此,我添加了一个自定义多边形对象作为我的地图的叠加层。添加后,“viewForOverlay”方法返回一个覆盖视图,该视图具有国家形状和特定颜色,具体颜色取决于该国家/地区的参数值。不幸的是,当我尝试绘制这些国家时,只显示位于地图左上角正方形中的多边形,其他的保持不可见......而那些仅部分属于这个正方形的多边形被简单地切割......

有人能暗示我的问题可能来自哪里,或者有什么可以解释这种非常奇怪的行为吗?

非常感谢!

本杰

【问题讨论】:

  • 这适用于 iOS 吗?您使用的是 MKPolygon 还是自定义覆盖类?如果是自定义类,boundingMapRect是怎么设置的?
  • 嗨安娜!是的,这是在 iOS 上。事实上,我只是扩展 MKPolygon 类来添加参数(我在上面谈到的值,这有助于我正确地为我的国家着色)。当调用标准的“viewForOverlay”方法时,我只需确定调用来自我的自定义类并返回一个 mkpolygonView,如上所述。你有什么想法吗?或者您需要更多信息?提前致谢。
  • 发布一些扩展代码,包括如何设置 boundingMapRect 可能会有所帮助。还要在问题中添加 iOS 标签。
  • 我添加了iOS标签,感谢您的建议;)!关于boundingMapRect,我根本没有设置它。这是一个用 "viewForOverlay" 调用的 MKPolygon 方法吗?在那种情况下,我使用标准的......它究竟做了什么?这是实际绘制我的国家/地区的方法的代码,以防问题来自那里......提前感谢您的帮助。
  • - (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id )overlay { if ([overlay isKindOfClass:[CountryPolygon class]]){ CountryPolygon *proPolygon = overlay; MKPolygonView *aView = [[[MKPolygonView alloc]initWithPolygon:[proPolygon polygon]] autorelease]; if ([[proPolygon purchasePowerCategory] ​​isEqualToString:@"nc"]) { aView.fillColor = [[UIColor grayColor] colorWithAlphaComponent:0.2]; } else { aView.fillColor = [[UIColor greenColor]colorWithAlphaComponent:0.2]; aView.strokeColor = [[UIColor grayColor] colorWithAlphaComponent:0.7];返回一个视图; }

标签: ios mapkit countries


【解决方案1】:

因为它可能对你们中的一些人有所帮助,我只是想让你们知道,多亏了 Anna 的帮助,我终于成功地完成了它。创建自定义覆盖类时(即使它直接继承自诸如 MKPolygon 之类的标准类),boundingMapRectObject 需要设置为您的类的属性(至少我是这样解决的)。希望对你们中的一些人有所帮助!

【讨论】:

    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    相关资源
    最近更新 更多