маркер не отображается на карте гугл

Я использую GoogleMap SDK в iOS для отображения текущего местоположения пользователя. Карта Google отображается в моем представлении, но маркер не виден. Я не знаю, что я делаю неправильно здесь.

Вот мой код

#import <GoogleMaps/GoogleMaps.h>
@interface firstViewController () {
   // GMSMapView *mapView_;
    IBOutlet GMSMapView *mapView_;
}
@end

@implementation firstViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6];
    mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
    mapView_.myLocationEnabled = NO;
    [self.view addSubview: mapView_];


    // Creates a marker in the center of the map.
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = mapView_;
 }

person amar    schedule 24.09.2015    source источник
comment
отметьте здесь, если вам нужен Swift #48517389" title="невозможно поместить gmsmapview карт Google в подвид основного основного вида"> stackoverflow.com/questions/15417811/   -  person Heshan Sandeepa    schedule 30.01.2018


Ответы (2)


Почему вы устанавливаете свою карту с фреймом CGRectZero ??

mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView_.myLocationEnabled = NO;
[self.view addSubview: mapView_];

Карта не будет видна, если вы установите для ее рамки значение CGRectZero. Итак, сначала попробуйте сделать свой mapView видимым, задав ему другой фрейм.

person John Russel Usi    schedule 24.09.2015

Я не знаю, в чем проблема, но я думаю, что этот метод поможет вам, который я реализовал в своем приложении.

- (void)getCamerasWithNortheast:(CLLocationCoordinate2D)neCoord southwest:(CLLocationCoordinate2D)swCoord fromDutation:(int)fromDuration
{
    NSString* urlString = nil;
    if(fromDuration == 0)
    {
        urlString = [NSString stringWithFormat:@"/api/v1/camera?bounds=%f,%f,%f,%f&limit=100", swCoord.longitude, swCoord.latitude, neCoord.longitude, neCoord.latitude];
    }
    else
    {
        urlString = [NSString stringWithFormat:@"/api/v1/camera?bounds=%f,%f,%f,%f&limit=100&fromDuration=%d", swCoord.longitude, swCoord.latitude, neCoord.longitude, neCoord.latitude,fromDuration];
    }

    _loadingCameras = YES;
    dispatch_async(dispatch_get_main_queue(), ^{
        //[_activitySpinner startAnimating];
    });

    HttpRequest* request = [HttpRequest requestWithRelativePath:urlString];
    [HttpResponse processAsynchronousRequest:request onCompletion:^(HttpResponse* response)
    {
        dispatch_async(dispatch_get_main_queue(), ^{
            NSMutableArray* newCameras = [[NSMutableArray alloc] init];
            newCameras = [response.responseJSON objectForKey:@"cameras"];
            for (NSDictionary* camera in newCameras)
            {
                LiveCameraAnnotation* annotation = [[LiveCameraAnnotation alloc] initWithJSON:camera];
                GMSMarker *marker = [[GMSMarker alloc] init];
                marker.position = annotation.coordinate;
                marker.title = annotation.camera.name;
                 marker.appearAnimation = kGMSMarkerAnimationPop;
                marker.icon = [GMSMarker markerImageWithColor:[UIColor purpleColor]];
                marker.userData = @{@"annotation":annotation};
                marker.map = mapView_;

                // Check if launched with camera
                if (_cameraData && [annotation.camera.uuid isEqualToString:_cameraData.uuid]){
                     [mapView_ setSelectedMarker:marker];
                    _cameraData = nil;
                }
                 marker = nil;
            }
            _loadingCameras = NO;
        });
    }];
}
person Mihir Oza    schedule 24.09.2015