[iOS]从Swift4兼容的地图应用程序启动


介绍

我们总结了如何从iOS应用程序快速启动地图应用程序。
基本上,尝试启动google map,如果未安装,则启动iOS标准地图。

有很多文章可能会有所帮助,但是我写这篇文章是因为没有最新版本的信息可同时支持googlemap和iOS标准地图。

我主要提到这两篇文章。
在iOS应用程序上启动外部地图应用程序(标准的Google地图)
启动Google Maps(Swift)

*操作环境:xcode9.4.1swift4.1

代码

1
2
3
4
5
6
7
8
9
10
11
12
let latitude = "35.692096424393867"
let longitude = "139.77235727788792"
let urlString: String!
if UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!) {
    urlString = "comgooglemaps://?daddr=\(latitude),\(longitude)&directionsmode=walking&zoom=14"
    }
else {
    urlString = "http://maps.apple.com/?daddr=\(latitude),\(longitude)&dirflg=w"
    }
if let url = URL(string: urlString) {
    UIApplication.shared.open(url)
    }
1
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

检查是否可以使用

打开google map,并相应地切换url方案。

url方案的注册

请注意,要使用的url方案必须在info.plist的LSApplicationQueriesSchemes中注册。
スクリーンショット 2018-10-26 1.09.46.png
自己将LSApplicationQueriesSchemes键添加到info.plist。
按+按钮添加新键,然后直接在其中键入LSApplicationQueriesSchemes
スクリーンショット 2018-10-26 1.12.16.png
添加后,将类型更改为数组。
スクリーンショット 2018-10-26 1.12.47.png
单击键名称左侧的??使其成为▼,然后按+添加一个键。
在其中的值中输入comgooglemaps即可。
スクリーンショット 2018-10-26 1.17.35.png

通过玩url方案的参数来掌握地图

对于谷歌地图

基本参数

1
"comgooglemaps://?center=40.765819,-73.975866&views=traffic&mapmpde=standard&zoom=14"

通过在comgooglemaps://?之后添加像

这样的参数,可以在打开后为地图指定各种规格。

<表格>

参数

效果


<身体>

居中

纬度,经度

显示指定纬度和经度在中心的位置。

mapmode

standardstreetview

指定法线地图或街道视图。如果未指定,将应用上一个应用程序的设置。

视图

satellitetraffictransit

指定航空照片,交通状况和路线图。通过与satellite,traffic 连接可以指定多种规格

缩放

整数值

指定地图放大率


搜索

1
"comgooglemaps://?q=Pasta&center=37.759748,-122.427135"

如果使用

,则可以在center指定的点附近搜索面食店。

路线搜索

1
"comgooglemaps://?saddr=\(latitude1),\(longitude1)?daddr=\(latitude2),\(longitude2)&directionsmode=driving"

如果使用

,则可以通过指定起点和目的地来搜索路线。

<表格>

参数

效果


<身体>

saddr

纬度,经度

指定指定的纬度/经度位置作为起点。如果未指定,则当前位置为起点。

daddr

纬度,经度

指定指定纬度和经度的位置作为目的地。

方向模式

rivingtransitbicyclingwalking

指定运输方式。


也可以在地址字符串中指定

saddrdaddr,但是在这种情况下,必须对URL进行编码。
参考→启动Google Maps(Swift)

有关更多详细信息,请直接参见参考。
适用于iOS的Google Maps URL方案

对于iOS标准地图

由于参考文献井井有条,请直接参考。
Google Maps具有更多参数和更多功能。
Apple URL方案参考

如何在应用程序中显示地图

要在应用程序中显示google地图,您需要安装google提供的SDK。
如何使用iOS版Google Maps SDK(与Swift 4兼容)