我正在从存储在我的文档目录中的kml文件在 map 上绘制覆盖图。我正在一次查看大约30至40个kml文件,而线色本身存储在kml中。问题是其中一些没有显示。
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
return [kmlParser viewForOverlay:overlay];
}
上面的代码来自参考KMLViewer,可以从here下载
当我编写下面的代码时,它工作得很好,但是所有生成的kml文件都用黑色绘制
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
MKOverlayPathView *overlayPathView;
if ([overlay isKindOfClass:[MKPolygon class]])
{
overlayPathView = [[MKPolygonView alloc] initWithPolygon:(MKPolygon*)overlay];
overlayPathView.fillColor = [[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0] colorWithAlphaComponent:0.2];
overlayPathView.strokeColor = [[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0] colorWithAlphaComponent:0.7];
overlayPathView.lineWidth = 3;
return overlayPathView;
}
}
任何帮助将不胜感激!
谢谢。
最佳答案
boundingMapRect可能是罪魁祸首,请检查 map 的缩放级别及其boundingmaprect属性