相关疑难解决方法(0)

以编程方式在iOS 6中打开地图应用

在iOS 6之前,打开这样的URL会打开(Google)地图应用:

NSURL *url = [NSURL URLWithString:@"http://maps.google.com/?q=New+York"];
[[UIApplication sharedApplication] openURL:url];
Run Code Online (Sandbox Code Playgroud)

现在有了新的Apple Maps实现,这只会将Mobile Safari打开到Google Maps.如何在iOS 6中实现相同的行为?如何以编程方式打开地图应用并将其指向特定位置/地址/搜索/其他?

objective-c mapkit ios ios6

159
推荐指数
5
解决办法
10万
查看次数

如何检查Apple Maps是否已安装

任何人都知道如何检查Apple Maps是否已安装?我在文档中找不到任何内容.

使用iOS10,用户可以删除Apple Maps应用程序.对于谷歌地图,我们可以UIApplication.shared.canOpenURL()用来检查它是否已安装.我不知道检查Apple Maps存在这样的事情.

当然,你可以检查是否打开MKMapItemmapItem.openInMaps()失败-但是,这并不帮助提前检查.

mapkit ios ios10

16
推荐指数
2
解决办法
3333
查看次数

openInMapsWithLaunchOptions不起作用?

我正在传递地图的选项,但这似乎与缩放级别没有任何关系?它保持相同的低缩放级别.我错过了什么?

func openMapForPlace() {
    let regionDistance:CLLocationDistance = 10000
    var coordinates = CLLocationCoordinate2DMake(detailItem!.geoLatitude, detailItem!.geoLongitude)
    let regionSpan = MKCoordinateRegionMakeWithDistance(coordinates, regionDistance, regionDistance)
    var options = [
        MKLaunchOptionsMapCenterKey: NSValue(MKCoordinate: regionSpan.center),
        MKLaunchOptionsMapSpanKey: NSValue(MKCoordinateSpan: regionSpan.span)
    ]
    var placemark = MKPlacemark(coordinate: coordinates, addressDictionary: nil)
    var mapItem = MKMapItem(placemark: placemark)
    mapItem.name = detailItem!.cityName
    mapItem.openInMapsWithLaunchOptions(options)
}
Run Code Online (Sandbox Code Playgroud)

mapkit swift ios8

9
推荐指数
1
解决办法
3203
查看次数

打开警报,要求选择应用程序以打开地图

我有一个集成了地图套件的视图控制器.我需要在打开地图之前拍摄警报,要求从地图的所有类似应用中进行选择以打开它.例如,如果谷歌地图应用程序安装在我的iPhone中,则应该有一个选项,以及默认的mapkit视图.是否有可能实现此功能,从iphone扫描每个类似的应用程序,并返回结果作为打开地图的选项.

dictionary mapkit ios swift

7
推荐指数
4
解决办法
6818
查看次数

使用MapKit和Swift在给定地址中打开地图

我在Swift 3中理解Apple的MapKit时遇到了一些麻烦.

我在这里找到了一个例子:如何用swift中的坐标以编程方式打开地图App?

public func openMapForPlace(lat:Double = 0, long:Double = 0, placeName:String = "") {     
    let latitude: CLLocationDegrees = lat
    let longitude: CLLocationDegrees = long

    let regionDistance:CLLocationDistance = 100
    let coordinates = CLLocationCoordinate2DMake(latitude, longitude)
    let regionSpan = MKCoordinateRegionMakeWithDistance(coordinates, regionDistance, regionDistance)
    let options = [
        MKLaunchOptionsMapCenterKey: NSValue(mkCoordinate: regionSpan.center),
        MKLaunchOptionsMapSpanKey: NSValue(mkCoordinateSpan: regionSpan.span)
    ]  
    let placemark = MKPlacemark(coordinate: coordinates, addressDictionary: nil)
    let mapItem = MKMapItem(placemark: placemark)
    mapItem.name = placeName
    mapItem.openInMaps(launchOptions: options)
}
Run Code Online (Sandbox Code Playgroud)

这绝对是游泳,除了在这种情况下我需要使用地址而不是坐标.

我已经找到了使用谷歌地图做到这一点的方法,但我似乎无法找到Apple地图的具体答案,如果它存在,我已经完成了它的上釉.

如果有人能帮助我理解正确的方法是什么,那将是惊人的.我正在使用:

  • Xcode 8.3.1
  • Swift …

geocoding geolocation mapkit ios swift

6
推荐指数
2
解决办法
5820
查看次数

iOS 可以通过 PlaceId 打开 Google 地图吗?

在 Android 中,可以使用 URI 来调用 GoogleMaps,如下所示

https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393&query_place_id=ChIJKxjxuaNqkFQR3CK6O1HNNqY
Run Code Online (Sandbox Code Playgroud)

正如这个答案中给出的。

此查询会在 Android 设备上打开 GoogleMaps,地点信息如下图所示:

在此输入图像描述

我正在寻找 IOS 与 GoogleMaps 的类似结果。我在 GoogleMaps SDK 文档和互联网上进行了搜索,但找不到答案。

我们可以通过 GoogleMaps 在 IOS 上实现这一目标吗?

google-maps ios swift

3
推荐指数
1
解决办法
2307
查看次数

打开Goog​​le地图应用以从其他应用程序导航

我试图使用这些代码从我的应用程序打开谷歌地图应用程序

if (UIApplication.sharedApplication().canOpenURL(NSURL(string:"comgooglemaps://")!)) {
        UIApplication.sharedApplication().openURL(NSURL(string:
            "comgooglemaps://?saddr=\(fromLatitude),\(fromLongitude)&daddr=\(toLatitude),\(toLongitude)&directionsmode=driving")!)
    }else{
        showAlert()
    }
Run Code Online (Sandbox Code Playgroud)

我已经在我的iphone中安装了谷歌地图,但这段代码总是转向其他部分

xcode google-maps url-scheme ios swift

1
推荐指数
1
解决办法
1104
查看次数