ios actionsheet извършете повикване към външно приложение за карта на Google и щифт маркер

това, от което се нуждая, е да изпратя информация за ширина и дължина от моето собствено приложение чрез делегиране на лист с действия към приложението google map и с предоставените параметри за ширина и дължина картата на google може да начертае карфица (маркер)

ето моят код

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    //coordinates for the place we want to display
    CLLocationCoordinate2D mosqueLocation = CLLocationCoordinate2DMake(lat,lng);
    if (buttonIndex==0) {
        //Apple Maps, using the MKMapItem class
        MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:mosqueLocation addressDictionary:nil];
        MKMapItem *item = [[MKMapItem alloc] initWithPlacemark:placemark];
        item.name = navBarTitle.title;
        [item openInMapsWithLaunchOptions:nil];
    } else if (buttonIndex==1) {
        //Google Maps
        //construct a URL using the comgooglemaps schema
        NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"comgooglemaps://?center=%f,%f",mosqueLocation.latitude,mosqueLocation.longitude]];
        if (![[UIApplication sharedApplication] canOpenURL:url]) {
            NSLog(@"Google Maps app is not installed");
              } else {
            [[UIApplication sharedApplication] openURL:url];
        }
    }
}

както можете да видите, имам ябълкова карта с червен щифт, нарисуван успешно, но не знам как да начертая същия щифт на картата на google, като използвам urlscheme comgooglemap.

lat и lng предоставени, просто трябва да изпратите до приложението Google Map, за да направите жребия, всякакви предложения биха били много полезни, примерен код дори по-добър, благодаря


person sefirosu    schedule 17.12.2014    source източник
comment
FYI - този въпрос няма нищо общо с UIActionSheet. Въпросът всъщност е само за начертаване на щифт в Google Maps.   -  person rmaddy    schedule 17.12.2014
comment
да, всеки пример би бил полезен   -  person sefirosu    schedule 17.12.2014
comment
Още един момент - защо проверявате дали можете да отворите URL адреса на comgooglemaps в метода на делегиране? Вашият код трябва да провери това, преди дори да предложи бутона в листа с действия   -  person rmaddy    schedule 18.12.2014


Отговори (1)


Добавете търсене за координатите, за да покажете маркер на това местоположение:

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"comgooglemaps://"]]) {
  NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"comgooglemaps://?center=%f,%f&q=%f,%f",mosqueLocation.latitude,mosqueLocation.longitude, mosqueLocation.latitude,mosqueLocation.longitude]];
  [[UIApplication sharedApplication] openURL:url];
} else {
  NSLog(@"Can't use comgooglemaps://");
}
person Cornelius    schedule 17.12.2014
comment
@Cornelius може ли да напишем и името на анотацията? - person erdemgc; 04.03.2015
comment
@erdemgc не, не мисля така. Ето документацията за URL схемата на Google Карти: developers.google.com/maps/documentation /ios/urlscheme - person Cornelius; 04.03.2015