有没有办法检测谷歌地图上是否有标记删除它?

时间:2014-11-07 23:42:34

标签: ios objective-c xcode google-maps

我正在使用Google Maps SDK在Xcode中编写应用程序,我的地图上的标记显示了不同的位置。

我有一个UIPickerView,根据用户选择的标记显示标记,如下所示: enter image description here

代码片段:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    switch (row)
    {
        case 0: // Display no marker flags
        {
            ....
        }
            break;
        case 1: // Display vendor marker flags
        {
            if (isSelectedVendors == NO)
            {
                // Mark item as selected in picker list
                isSelectedVendors = YES;

                [self addVendorMarkersToMap];
            }
            break;
        }
    ....
}

在地图上加载标记的方法片段:

- (void)addVendorMarkersToMap
{
    // Add coordinates to know where to place markers
    NSArray *coords = [ [NSArray alloc] initWithObjects: ...];

    // Loop through all the coordinates and mark it on the map
    for (int i = 0; i < [coords count]; i = i + 2)
    {
        GMSMarker *marker = [ [GMSMarker alloc] init];

        marker.position = CLLocationCoordinate2DMake([ [coords objectAtIndex:i] floatValue], [ [coords objectAtIndex: (i + 1)] floatValue]);
        marker.appearAnimation = kGMSMarkerAnimationPop;
        marker.icon = [UIImage imageNamed:@"vendors.png"];
        marker.map = mapView;
    }
}

Google Map的文档没有解释如何在地图上检测标记。

由于我使用UIPickerView在地图上显示某些标记,如何在地图上检测标记以删除它们并仅显示用户从UIPickerView中选择的标记?

我唯一知道要做的就是使用[mapView clear],但这会清除地图上的所有内容,甚至是我在地图上的叠加层。

0 个答案:

没有答案