2016-08-05 5 views
0
- (void)loadView { 

// Create a GMSCameraPosition that tells the map to display the 
// coordinate -33.86,151.20 at zoom level 6. 
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.551927 
                 longitude:-77.456292 
                  zoom:18]; 
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; 
CLLocationCoordinate2D position = CLLocationCoordinate2DMake(37.551709, -77.456510); 
GMSMarker *marker = [GMSMarker markerWithPosition:position]; 
marker.title = @"Hi"; 
marker.map = mapView; 
mapView.settings.myLocationButton = YES; 
mapView.myLocationEnabled = YES; 
self.view = mapView; 

GMSMutablePath *path = [GMSMutablePath path]; 
[path addCoordinate:CLLocationCoordinate2DMake(37.552243, -77.457415)]; 
[path addCoordinate:CLLocationCoordinate2DMake(37.551054, -77.455443)]; 

GMSPolyline *polyline = [GMSPolyline polylineWithPath:path]; 
int x = 0; 
if ((x = 1)){ 
    polyline.spans = @[[GMSStyleSpan spanWithColor:[UIColor redColor]]]; 
} 
else polyline.spans = @[[GMSStyleSpan spanWithColor:[UIColor greenColor]]]; 
polyline.strokeWidth = 10.f; 
polyline.map = mapView;} 

Я пытаюсь изменить цвет этой полилинии на основе состояния. Я новичок в XCode, поэтому я просто попробовал оператор if, но по какой-то причине он не работает. Любые идеи были бы хорошы!Изменение цвета полилинии Условно

ответ

0

Вы смешивали своих операторов назначения и сравнения.

= -> присвоить новое значение
== -> проверить, если левый и правое значение рук равно

К сожалению для вас, это все еще действует «условное» заявление, хотя это означает что-то другое.

if (x = 1) -> если задание завершается успешно (т.е. значение в x считается true)
if (x == 1) -> если x равно 1

Смежные вопросы