У вас, похоже, все правильно. Нужно бряку влепить в ваш
-(void)addAnnotation:(NSString*)latitudeString and:(NSString*)longitudeString withName:(NSString *)name
и глянуть параметры. И еще проверить метод, где у вас вызывается первый блок вашего кода.
Я создаю так:
@interface MapDetailViewController ()<CLLocationManagerDelegate, GMSMapViewDelegate>{
CLLocationCoordinate2D startCoord;
CLLocationCoordinate2D placeCoord;
}
@property (strong, nonatomic) GMSMapView *mapView;
@property (strong, nonatomic) GMSMarker *placeMarker;
- (void)startUpdatingCurrentLocation;
@end
Это в (void)loadView:
placeCoord = (CLLocationCoordinate2D){.latitude = 49.587657, .longitude = 36.463008}; //координаты от фонаря вставил
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:placeCoord.latitude
longitude:placeCoord.longitude
zoom:10];
_mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
_mapView.myLocationEnabled = YES;
_mapView.delegate = self;
_mapView.settings.compassButton = YES;
_mapView.settings.myLocationButton = YES;
self.view = _mapView;
А это в (void)viewWillAppear:
// Create a placeMarker.
self.placeMarker = [[GMSMarker alloc] init];
self.placeMarker.position = placeCoord;;
self.placeMarker.title = @"Title";
self.placeMarker.snippet = @"Place location";
self.placeMarker.map = _mapView;
[self updateDataRouteWithCurentLocation:startCoord];
У меня так работает.
И это на всяк случай для добавления маршрута на карту:
-(void)addDirections:(NSDictionary *)json{
if ([json[@"routes"] count] > 0) {
NSDictionary *routes = json[@"routes"][0];
NSDictionary *route = routes[@"overview_polyline"];
NSString *overview_route = route[@"points"];
GMSPath *path = [GMSPath pathFromEncodedPath:overview_route];
GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
polyline.strokeWidth = 3.0;
polyline.map = self.mapView;
}
}