高德地圖怎么圈定范圍?
在高德地圖中(v2.4),開啟定位后會在當前位置周圍顯示一個藍色的定位范圍圓環。很多時候我們不需要顯示這個圓環,或者需要改變它的樣式。下面介紹一下修改這個圓環的方法。
首先在- (void)viewDidLoad 事件中開啟下面的屬性:
//gdMap為我定義的高德地圖對象名稱,這里根據你的需要換成自己的對象
gdMap.customizeUserLocationAccuracyCircleRepresentation = YES;
接下來需要在回調函數(如果你的代碼中沒有這個回調函數,加上即可)中添加圓環樣式設置的代碼:
//回調函數
- (MAOverlayView *)mapView:(MAMapView *)mapView viewForOverlay:(id <<span class="s2">MAOverlay>)overlay
{
// 自定義定位精度對應的MACircleView
if (overlay == mapView.userLocationAccuracyCircle)
{
MACircleView *accuracyCircleView = [[MACircleView alloc] initWithCircle:overlay];
accuracyCircleView.lineWidth = 2.f;
accuracyCircleView.strokeColor = [UIColor lightGrayColor];
accuracyCircleView.fillColor = [UIColor colorWithRed:1 green:0 blue:0 alpha:.3];
return accuracyCircleView;
}
return nil;
}
這段代碼寫好后運行一下看看結果,你會發現原來的藍色圓環變成紅色的了。
如果想隱藏的話很簡單,把圓環描邊和填充的顏色設置為透明即可:
accuracyCircleView.strokeColor = [UIColor colorWithRed:1 green:0 blue:0 alpha:0.0];
accuracyCircleView.fillColor = [UIColor colorWithRed:1 green:0 blue:0 alpha:0.0]