在IOS中使用ArcGIS的当前GPS位置

时间:2015-10-13 09:59:04

标签: ios swift arcgis

我理解

mapView.locationDisplay.startDataSource()

将当前位置标记放置在arcGIS地图中,并且可以通过在项目中添加名为LocationDisplay.png的图像文件来更改当前位置标记的图像。

默认情况下,当前位置图标是蓝色圆圈图标。默认情况下,此图标包含在一个圆圈内(包含动画)。 当我们将地图放大到最大比例时,围绕蓝色圆圈图标的封闭圆圈也会增加。 更改图标图像没有任何帮助,因为它只将蓝色圆圈图标更改为我们更改的图像,但保留了封闭的圆圈。 请建议我们是否有任何选项可以删除当前位置图标周围的动画。

P.S:我知道我们可以从coreLocation获取当前位置,并可以放置自定义标记。欢迎任何其他更好的可能性。

感谢。

2 个答案:

答案 0 :(得分:1)

accuracySymbol 是用于显示位置准确性的符号。

mapView.locationDisplay.accuracySymbol = [AGSSimpleFillSymbol simpleFillSymbolWithColor:[UIColor clearColor] outlineColor:[UIColor clearColor]];

这是Objective-C代码。 (请转换为swift。)

答案 1 :(得分:0)

您也可以像下面的苹果地图的委托方法一样跟踪当前位置

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

并在此处跟踪

- (void)registerArcgisAsObserver {
    [ self.viewEvacuation.locationDisplay addObserver:self
                                    forKeyPath:@"location"
                                       options:(NSKeyValueObservingOptionNew)
                                       context:NULL];
}

- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context {

    if ([keyPath isEqual:@"location"]  ) {
        NSLog(@"Location updated to %@", [self.mapview.locationDisplay mapLocation]);
    }
}