Таблица действий ios вызывает внешнее приложение карты Google и маркер булавки

что мне нужно, так это отправить информацию о широте и долготе из моего собственного приложения, используя делегирование таблицы действий в приложение карты Google, и с предоставленными параметрами широты и долготы карта 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];
        }
    }
}

как видите, у меня есть карта Apple с красной булавкой, но я не знаю, как нарисовать ту же булавку на карте Google, используя схему URL-адреса comgooglemap.

Широта и долгота предоставлены, просто нужно отправить в приложение Google Map, чтобы сделать розыгрыш, любые предложения будут очень полезны, пример кода еще лучше, спасибо


person sefirosu    schedule 17.12.2014    source источник
comment
К вашему сведению - этот вопрос не имеет никакого отношения к UIActionSheet. Вопрос действительно только в том, чтобы нарисовать булавку на картах Google.   -  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
@ Корнелиус, можем ли мы также написать название аннотации? - person erdemgc; 04.03.2015
comment
@erdemgc нет, я так не думаю. Вот документация для схемы URL-адресов Google Maps: developers.google.com/maps/documentation /ios/схема URL - person Cornelius; 04.03.2015