我在我的项目中使用 route-me。图书馆相当不错。添加标记,绘制多边形工作正常。如何在给定位置(纬度、经度)放置单个图像作为叠加层?我认为缺少这种功能。有没有人在不超载瓷砖源的情况下放置图像叠加层?
问问题
1331 次
2 回答
1
我找到了解决方案...
CLLocationCoordinate2D lcA = CLLocationCoordinate2DMake(oSector.f_overlay_lat_min,oSector.f_overlay_long_min);
CLLocationCoordinate2D lcB = CLLocationCoordinate2DMake(oSector.f_overlay_lat_max,oSector.f_overlay_long_max);
CGPoint cgA = [mvMap latLongToPixel:lcA];
CGPoint cgB = [mvMap latLongToPixel:lcB];
float fLatMin = MIN(cgA.x,cgB.x);
float fLongMin = MIN(cgA.y,cgB.y);
float fWidth = sqrt((cgA.x - cgB.x)*(cgA.x - cgB.x));
float fHeight = sqrt((cgA.y - cgB.y)*(cgA.y - cgB.y));
RMMapLayer *mlLayer = [[RMMapLayer alloc] init];
mlLayer.contents = (id) oSector.im_overlay.CGImage;
mlLayer.frame = CGRectMake(fLatMin,fLongMin,fWidth,fHeight);
[[mvMap.contents overlay] addSublayer:mlLayer];
mvMap 是您的 h 文件中某处的 IBOutlet RMMapView *mvMap
oSector.im_overlay.CGImage 可以是
UIImage *i = [UIImage imageNamed:<something>];
lmLayer.contents = i.CGImage
于 2011-08-15T11:38:35.570 回答
0
为什么不直接使用 RMMarker?您可以将任何图像应用到它并根据需要放置它。如果您愿意,甚至可以将其设为可拖动:
UIImage *imgLocation = [UIImage imageWithContentsOfFile :
[[NSBundle mainBundle] pathForResource:@"location_ind"
ofType:@"png"]];
markerCurrentLocation = [[RMMarker alloc] initWithUIImage:imgLocation];
// make sure it is always above everything else.
markerCurrentLocation.zPosition = -1.0;
[mapView.markerManager addMarker:markerCurrentLocation
AtLatLong:startingPoint];
再见!
——兰迪
于 2011-08-12T21:25:15.150 回答