ios - MapBox:如何删除一个形状并绘制另一个形状?

标签 ios dictionary mapbox

我为形状创建了注释

    _path = [RMAnnotation annotationWithMapView:_mapView
                                         coordinate: _userLocation.coordinate
                                           andTitle:@"Path"];
     [_mapView addAnnotation:_path];

在委托(delegate)中我写了

- (RMMapLayer *)mapView:(RMMapView *)mapView layerForAnnotation:(RMAnnotation *)annotation
{
    if ([annotation.title isEqualToString:@"Path"])
    {
        _lineBetweenTwoBeacon = [[RMShape alloc] initWithView:mapView];
        _lineBetweenTwoBeacon.lineColor = [UIColor redColor];
        _lineBetweenTwoBeacon.lineWidth =  10.0f;
        return _lineBetweenTwoBeacon;
    }
    else
    {
    marker = [[RMMarker alloc] initWithUIImage:[UIImage imageNamed:@"userPin"]];
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 80, 80)];
    imageView.contentMode = UIViewContentModeScaleAspectFit;
    marker.leftCalloutAccessoryView = imageView;
    return marker;
    }
}

下一步我画形状

[_lineBetweenTwoBeacon addQuadCurveToCoordinate:firstBeaconCoord controlCoordinate:secondBeaconCoord];

但是如何从 map 中删除所有形状并添加新形状。 现在形形色色,这是不正确的。 如果_lineBetweenTwoBeacon 每次都重绘会更好。

谢谢你的帮助!

最佳答案

当您手动创建一个 RMShape 时,您需要在创建它之后使用 -moveToCoordinate:-addLineToCoordinate 等方法告诉它移动和绘制的位置:。如果您只有基本需求,我建议您尝试 RMPolylineAnnotation,它会为您处理绘图。

关于ios - MapBox:如何删除一个形状并绘制另一个形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254551/

相关文章:

ios - 计划的本地通知问题 - 每天触发问题

ios - 辅助功能标识符在 iOS 模拟器的辅助功能检查器中不可见

python - 在 Python 中计算两个字典之间的值

android - 将 3D 对象添加到 map 并在其周围平移

ios - 阈值图像适用于 Swift 和 Matlab,但不适用于 Core Image 内核

python - 如何通过索引选择字典的值并通过键将其放入数据框中?

java - 如何将 www.mysite.com/page 映射到 page.mysite.com?

ios - 绘制折线 MapBox, iOS

javascript - 在 Mapbox/Leaflet 中定义 geojson 属性的填充颜色时遇到问题

ios - 从容器应用程序和扩展程序访问核心数据