所谓的动点画线,就是根据用户的当前位置,获取到的经纬度,画出移动轨迹。
画线方法如:
-(void) loadRoute
{
GMSPolylineOptions *options = [GMSPolylineOptionsoptions];
GMSMutablePath *path = [GMSMutablePathpath];
//_locations 是从定位获取的坐标数组
for(int idx =0; idx <_locations.count; idx++)
{
NSString* currentPointString = [_locationsobjectAtIndex:idx];
NSArray* latLonArr = [currentPointStringcomponentsSeparatedByCharactersInSet:[NSCharacterSetcharacterSetWithCharactersInString:@","]];
CLLocationDegrees latitude = [[latLonArrobjectAtIndex:0]doubleValue];
CLLocationDegrees longitude = [[latLonArrobjectAtIndex:1]doubleValue];
// create our coordinate and add it to the correct spot in the array
CLLocationCoordinate2D coordinate =CLLocationCoordinate2DMake(latitude, longitude);
[pathaddCoordinate:coordinate];
}
options.path = path;
options.color = [UIColorgreenColor];
options.width =10.0f;
options.geodesic =YES;
[_mapViewaddPolylineWithOptions:options];
}
//通过locationManager管理 使用次代理方法
#pragma mark - 位置管理 delegate methond
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation{
NSArray *_mutableArray = [[NSArray alloc]initWithObjects:[NSStringstringWithFormat:@"%3.4f,%3.4f",[newLocationcoordinate].latitude, [newLocationcoordinate].longitude],nil];
[_locationsaddObjectsFromArray:_mutableArray];
NSLog(@"********位置管理代理方法*********************_locations = %@",_locations);
if ([_locationscount] >1) {
[selfloadRoute];//开始画线~~~
}
}