2010-12-17 30 views

回答

0

没有。没办法。我十天前遇到了同样的情况,而且我一直在网上搜索,无法完成这项功能。我认为苹果应该会在未来的iOS SDK中为MKOverlay提供一些代表多边形触摸事件的代表。

0

当您的MKMapView委托收到用户位置更新时,您可以遍历您的叠加层,并查看用户位置是否位于任何叠加层的边界映射rect内。在叠加层上,只需添加一个可用于查找颜色的“颜色”属性。

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation 
{ 
    for (MyOverlayClass* overlay in mapView.overlays) 
    { 
     MKMapPoint userPoint = MKMapPointForCoordinate(userLocation.location.coordinate); 
     if (MKMapRectContainsPoint(overlay.boundingMapRect, userPoint)) 
     { 
      UIColor* userInColor = overlay.color; 
     } 
    } 
}