支持百度 谷歌 高德 苹果 腾讯地图 一键打开及 地图之间的坐标系的转换
本项目 Demo 下载地址 https://github.com/sinorychan/JumpToThirdMap
注意: 百度用的自己的坐标系(在火星坐标系上处理得到)。 谷歌,苹果,高德,腾讯使用的是火星坐标系。在传递经纬度的时候请确定是什么坐标系 然后使用坐标系转换代码 进行坐标转换。
在iOS开发应用过程中,会遇到跳转第三方应用地图进行导航的场景,例如跳转到高德地图,百度地图.如图所示

首先,如果iOS应用跳转到第三方应用,需要在info.plist中添加白名单,否则无法打开第三方应用

<key>LSApplicationQueriesSchemes</key>
<array>
<string>comgooglemaps</string>
<string>iosamap</string>
<string>qqmap</string>
<string>baidumap</string>
</array>
上代码。 MapType 用来管理所有第三方地图的 名称 url 等 以及是否能打开对应的地图
//
// MapType.swift
// WisdomGuide
//
// Created by chan on 2019/8/26.
// Copyright © 2019 BJMHBT. All rights reserved.
//
import UIKit
enum MapType {
//百度
case baiduMap
//高德
case gaodeMap
//苹果
case appleMap
//谷歌
case googleMap
//腾讯
case qqMap
var URI : String {
switch self {
case .baiduMap:
return "baidumap://"
case .gaodeMap:
return "iosamap://"
case .appleMap:
return "http://maps.apple.com/"
case .googleMap:
return "comgooglemaps://"
case .qqMap:
return "qqmap://"
}
}
/// 地图名称
var Name : String {
switch self {
case .baiduMap:
return "百度地图"
case .gaodeMap:
return "高德地图"
case .appleMap:
return "苹果地图"
case .googleMap:
return "谷歌地图"
case .qqMap:
return "腾讯地图"
}
}
/// 本地是否安装地图软件
var canOpen : Bool {
guard let url = URL(string:URI),
UIApplication.shared.canOpenURL(url) else {
return false
}

该博客介绍了如何在iOS应用中实现跳转到百度、谷歌、高德、苹果和腾讯地图进行导航,并提供了坐标系转换的解决方案。开发者需要在info.plist中设置白名单,并使用提供的MapType工具进行地图应用的管理和跳转。示例代码和一键调用第三方地图的源码可以在GitHub项目JumpToThirdMap中找到。
最低0.47元/天 解锁文章
1060

被折叠的 条评论
为什么被折叠?



