新手求助关于 Swift app 地图调用问题

问答Zkuns • 于 2015-11-03 01:44:11 +0800 • 最后由 hugrup2015-11-03 07:11:09 +0800 4627 阅读

其实也不算是地图开发,就是app中有一个位置信息,想添加一个功能,可以点击它,然后选择使用哪个地图app打开它,像微信的地图这个样子。

file

我google并没有找到相应的方法,或者代码(难道是我搜索的关键字不对?),只找到使用

swift let url = NSURL(string: "http://maps.apple.com/?ll=50.894967,4.441626"); UIApplication.sharedApplication().openURL(url!) 或是MKMapItem对象的openInMapsWithLaunchOptions方法来打开

但是找到的这两种方法都是通过默认的地图打开,并不能解决我的问题,实在是找不到办法了,求人指点迷津! 有什么实现的方法,或者说是源代码。

回复: 6
  • hugrup 2015-11-03 01:51:49 +0800

    我就直接贴代码了···

    for baidu map [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"baidumap://map/direction?origin=%f,%f&destination=%f,%f&mode=driving",from.latitude,from.longitude,to.latitude,to.longitude]]];

    for ios map MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation]; MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:to addressDictionary:nil]]; toLocation.name = @"Destination"; [MKMapItem openMapsWithItems:[NSArray arrayWithObjects:currentLocation, toLocation, nil] launchOptions:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:MKLaunchOptionsDirectionsModeDriving, [NSNumber numberWithBool:YES], nil] forKeys:[NSArray arrayWithObjects:MKLaunchOptionsDirectionsModeKey, MKLaunchOptionsShowsTrafficKey, nil]]];

    for google map ``` NSString *urlString= [[NSString alloc] initWithFormat:@"comgooglemaps://?saddr=%f,%f&daddr=%f,%f&dirflg=d", from.latitude, from.longitude, to.latitude, to.longitude]; NSURL *aURL = [NSURL URLWithString:urlString]; [[UIApplication sharedApplication] openURL:aURL];

    ```

  • hugrup 2015-11-03 01:53:40 +0800

    iOS9上记得添加openurl权限

  • iBcker 2015-11-03 01:54:33 +0800

    @hugrup 发现你做项目不少啊妹子~

  • Zkuns 2015-11-03 02:16:08 +0800

    @hugrup 这么快:scream: , 非常感谢。

  • Zkuns 2015-11-03 02:25:21 +0800

    原来使用URL Scheme实现的,学到了,再次感谢

  • hugrup 2015-11-03 07:11:09 +0800

    @iBcker 以前一个项目做过,就直接贴出来。 @Zkuns 不知道现在调用方法变化没,你可以自己换成swift的试试,估计变化不大。

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,见 Emoji cheat sheet
  • @name 会链接到用户页面,并会通知他
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
Ctrl+Enter