@capgo/电容器-发射-导航器
在用户最喜爱的导航app中打开转弯方向,如从你的Capacitorapp中打开Apple Maps,Google Maps或Waze. 手机Gap-launch-navigator的Capacitor港口. 星洲网.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-launch-navigator在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/电容-发射-导航器到我的Capacitor app上并把它接上 代理设置指南 • 妇女 主机磁共振
主要特点
- 导航数字 :
navigate()打开纬度和经度坐标的方向,并带有可选的起点. - 应用发现数字 :
getAvailableApps(), (中文(简体) ),getSupportedApps(), (中文(简体) ),isAppAvailable()财务报告和审定财务报表getDefaultApp()。 。 。 . - 提供者图标数字 :
getAppIcons(), (中文(简体) ),refreshAppIcons()财务报告和审定财务报表clearIconCache()来建立自己的应用程序选择者. - 本地默认: Apple Maps 在iOS上通过 MapKit 和在Android上的意图.
- 平台: iOS,Android和Web. 互联网档案馆的存檔,存档日期2013-12-02. 网上,
navigate()在浏览器中打开地图链接.
用于发射导航应用程序以通向目的地的电容插件.
此插件是流行的电话gap-launch-navigator插件的 Capacitor 端口,仅支持以纬度/经度坐标进行导航(没有地址支持 - 使用) @ capgo/ 电容- 内置地理编码器 地址地理编码.
文档
这里有最完整的医生: https://capgo.app/docs/plugins/发射-导航器/
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |
说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-launch-navigator` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-launch-navigator
npx cap sync
iOS 设置
向您添加 URL 方案 Info.plist 检测已安装的导航应用程序:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>comgooglemaps</string>
<string>waze</string>
<string>citymapper</string>
<string>navigon</string>
<string>transit</string>
<string>yandexnavi</string>
<string>uber</string>
<string>tomtomgo</string>
<string>com.sygic.aura</string>
<string>here-route</string>
<string>moovit</string>
<string>lyft</string>
<string>mapsme</string>
<string>guru</string>
<string>om</string>
<string>yandexmaps</string>
<string>dgis</string>
<string>cabify</string>
<string>baidumap</string>
<string>iosamap</string>
<string>tesla</string>
<string>taxis99</string>
</array>
Android 设置
不需要额外的设置! 该插件会自动处理Android 11+(API级别为30+)包能见度,并与更早的Android版本完全相容.
插件的列表包括 <queries> 声明所有支持的导航应用程序,这些应用程序在构建过程中会自动被合并到您的应用程序的显示中. 关于Android 10和以下 <queries> 元素被安全忽略.
参考: 插件中包含的软件包查询
以下导航应用在插件的出货单中声明:
<queries>
<package android:name="com.google.android.apps.maps" />
<package android:name="com.waze" />
<package android:name="com.citymapper.app.release" />
<package android:name="com.ubercab" />
<package android:name="ru.yandex.yandexnavi" />
<package android:name="com.sygic.aura" />
<package android:name="com.here.app.maps" />
<package android:name="com.tranzmate" />
<package android:name="me.lyft.android" />
<package android:name="com.mapswithme.maps.pro" />
<package android:name="com.tomtom.gplay.navapp" />
<package android:name="com.bodunov.galileo" />
<package android:name="com.bodunov.GalileoPro" />
<package android:name="app.organicmaps" />
<package android:name="ru.yandex.yandexmaps" />
<package android:name="cz.seznam.mapy" />
<package android:name="ru.dublgis.dgismobile" />
<package android:name="com.cabify.rider" />
<package android:name="com.baidu.BaiduMap" />
<package android:name="com.taxis99" />
<package android:name="com.autonavi.minimap" />
<package android:name="com.teslamotors.tesla" />
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="geo" />
</intent>
</queries>
兼容性 :
- Android 11+ (API 30+): (英语) 对软件包的能见度需要查询并强制执行
- Android 10 and belows (API 29-) (英语: 查询元素被忽略; 应用程序检测工作不受限制
这确保了插件在API 24+的所有Android版本中正确工作,没有任何代码变化.
使用量
import { LaunchNavigator, IOSNavigationApp, AndroidNavigationApp, TransportMode } from '@capgo/capacitor-launch-navigator';
// Navigate to a location using default app
await LaunchNavigator.navigate({
destination: [37.7749, -122.4194] // San Francisco coordinates
});
// Navigate with options
await LaunchNavigator.navigate({
destination: [37.7749, -122.4194],
options: {
start: [37.7849, -122.4094], // Starting point
app: 'google_maps', // Specific app to use
transportMode: TransportMode.DRIVING
}
});
// Check if an app is available
const { available } = await LaunchNavigator.isAppAvailable({
app: IOSNavigationApp.GOOGLE_MAPS
});
// Get list of available navigation apps
const { apps } = await LaunchNavigator.getAvailableApps();
apps.forEach(app => {
console.log(`${app.name} is ${app.available ? 'available' : 'not installed'}`);
});
// Fetch local provider icons for display
const { icons, failures } = await LaunchNavigator.getAppIcons({
apps: ['google_maps', 'waze']
});
icons.forEach(icon => {
const image = document.querySelector<HTMLImageElement>(`img[data-app="${icon.app}"]`);
if (image) {
image.src = icon.localUrl; // Uses the local cache after the first fetch
}
});
// Force a refresh when an icon needs to be repaired
await LaunchNavigator.refreshAppIcons({
apps: ['waze']
});
console.log('Icon failures:', failures);
重要说明
- 只有坐标: 此插件只接受用于导航的纬度/经度坐标 。 不支持地址串 .
- 地址地理编码:如果需要将地址转换为坐标,则使用 @ capgo/ 电容- 内置地理编码器。 。 。 .
- 特斯拉语Name数字 :
app: 'tesla'共享一个 Google Maps 位置文本到 Tesla app 。 Android直接针对Tesla应用;iOS打开了原生共享表,因为iOS不允许在程序上选择另一个应用的共享扩展. - PhoneGap 应用程序标识符: App ID 现在匹配
phonegap-launch-navigator(原始内容存档于2018-10-21). For Navigon, Here Maps, MAPS.ME, and 99 Taxi. 遗留的身份证garmin_navigon, (中文(简体) ),here, (中文(简体) ),mapsme, (中文(简体) ),99taxi)仍然被接受. - Android 地理应用程序数字 :
app: 'geo'打开本地Android选择器,用于任何已安装的操作程序geo:URI计划.getAvailableApps()还发现了返回geo:按软件包名称排列的应用程序,因此安装时可以列出Locus Map,Komoot,OsmAnd等应用程序. - 99辆出租车数字 :
app: 'taxis_99'遵循 PhoneGap 应用程序标识符。 需要启动坐标.
支持的导航应用程序
iOS系统
- 苹果地图
- 谷歌地图
- 瓦兹
- 城市市长
- 加明·纳维贡
- 转接 App
- Yandex 导航器
- 铀
- 汤姆
- 同步
- 地图
- 莫维特
- 莱特
- 马斯·梅
- 古鲁地图
- 有机图
- Yandex 地图
- 2个GIS
- 认证
- 拜都地图
- 高地地图
- 特斯拉语Name
- 99辆出租车
机器人
- 地理意图选择者
- 谷歌地图
- 瓦兹
- 城市市长
- 铀
- Yandex 导航器
- 同步
- 地图
- 莫维特
- 莱特
- 马斯·梅
- 汤姆走
- 古鲁地图
- 有机图
- Yandex 地图
- Mapy.com (英语)
- 2个GIS
- 认证
- 拜都地图
- 99辆出租车
- 高地地图
- 特斯拉语Name
- 支持Android的任何已安装的应用程序
geo:URI 计划
API 密码
navigate(...)isAppAvailable(...)getAvailableApps()getSupportedApps()getDefaultApp()getAppIcons(...)refreshAppIcons(...)clearIconCache(...)getPluginVersion()- 接口
- 类型异名
- 数字
主插件接口
导航(...)
navigate(options: { destination: [number, number]; options?: NavigateOptions; }) => Promise<void>
使用经纬度导航到位置
| 参数 | 类型 | 说明 |
|---|---|---|
options | { destination: [number, number]; options?: NavigateOptions; } | 带有目的地坐标的导航选项 |
是AppAvailable (...) (帮助)
isAppAvailable(options: { app: IOSNavigationApp | AndroidNavigationApp | string; }) => Promise<{ available: boolean; }>
检查是否有特定的导航应用程序
| 参数 | 类型 | 说明 |
|---|---|---|
options | { app: string; } | 包含应用标识符的选项 |
回返情况: Promise<{ available: boolean; }>
获取可用附录( )
getAvailableApps() => Promise<{ apps: AvailableApp[]; }>
获取设备上可用的导航应用程序列表
回返情况: Promise<{ apps: AvailableApp[]; }>
获取支持的附录( )
getSupportedApps() => Promise<{ apps: string[]; }>
获取当前平台所支持的应用程序列表
回返情况: Promise<{ apps: string[]; }>
获取默认 App ()
getDefaultApp() => Promise<{ app: string; }>
获取导航默认应用程序的名称
回返情况: Promise<{ app: string; }>
获取 AppIcons (...)
getAppIcons(options?: GetAppIconsOptions | undefined) => Promise<ProviderIconsResult>
获取提供者图标并在当地缓存它们 .
本地执行默认24小时后重新验证缓存图标 .
过 forceRefresh: true 当一个图标必须修复时绕过缓存.
| 参数 | 类型 |
|---|---|
options | GetAppIconsOptions |
回返情况: Promise<ProviderIconsResult>
刷新 AppIcons (...)
refreshAppIcons(options?: GetAppIconsOptions | undefined) => Promise<ProviderIconsResult>
刷新提供者图标, 忽略缓存年龄 .
| 参数 | 类型 |
|---|---|
options | GetAppIconsOptions |
回返情况: Promise<ProviderIconsResult>
清除IconCache(...)
clearIconCache(options?: ClearIconCacheOptions | undefined) => Promise<{ cleared: number; }>
清除缓存提供者图标 .
| 参数 | 类型 |
|---|---|
options | ClearIconCacheOptions |
回返情况: Promise<{ cleared: number; }>
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取本地 Capacitor 插件版本
回返情况: Promise<{ version: string; }>
接口
导航选项
导航选项
| Prop | 类型 | 说明 |
|---|---|---|
start | [number, number] | 起始位置坐标 [纬度,经度] |
startName | string | 开始位置名称 |
destinationName | string | 目标名称( 将忽略, 因为我们只支持坐标) |
transportMode | TransportMode | 运输模式 |
app | string | 发射的具体应用( 如未指定, 将使用默认或即时) |
launchMode | LaunchMode | 发射模式 |
extras | Record<string, any> | 某些应用程序的特定附加参数 |
enableDebug | boolean | 启用调试日志 |
可用App
检查应用程序可用性的结果
| Prop | 类型 | 说明 |
|---|---|---|
app | string | 应用标识符 |
name | string | 显示应用程序的名称 |
available | boolean | 设备上是否有应用程序 |
供应商
获取提供者图标的结果 .
| Prop | 类型 | 说明 |
|---|---|---|
icons | ProviderIcon[] | 从缓存或新下载的图标 |
failures | ProviderIconFailure[] | 无法获取且没有缓存回落的供应商 |
提供方
导航提供者的缓存图标 .
| Prop | 类型 | 说明 |
|---|---|---|
app | string | 导航应用程序标识符 |
name | string | 显示提供者的名称 |
localUrl | string | URL,可以直接用于WebView内部的图像元素. |
sourceUrl | string | 用于下载缓存图像的 Web URL |
mimeType | string | 当知道时,为缓存图像报告的 MIME 类型 |
fetchedAt | number | 上次抓取图标时以毫秒为单位的解九时间戳 |
fromCache | boolean | 图标是否来自本地缓存而不更新网络 |
stale | boolean | 是否因为刷新失败而返回了 stale 缓存图标 |
提供商失败
图标获取提供者的失败 .
| Prop | 类型 | 说明 |
|---|---|---|
app | string | 导航应用程序标识符 |
name | string | 显示提供者的名称 |
sourceUrl | string | 失败的 Web URL, 当知道时 |
message | string | 失败消息 |
获取 AppIcon 选项
获取导航提供者图标的选项 .
| Prop | 类型 | 说明 |
|---|---|---|
apps | string[] | 要获取的应用标识符 。 默认当前平台的所有内置提供者 . |
providers | IconProvider[] | 获取或覆盖内置提供者网站的提供者定义. |
maxAgeMs | number | 缓存重验证间隔以毫秒计 。 默认为24小时. |
forceRefresh | boolean | 忽略当前缓存并再次获取图标 . |
图标提供
用于发现或下载提供者图标的Web源.
| Prop | 类型 | 说明 |
|---|---|---|
app | string | 导航应用程序标识符 |
name | string | 显示提供者的名称 |
url | string | 用于发现favicon元数据的提供者网站 |
iconUrl | string | 直接图像 URL. 提供时,插件会下载此 URL, 而不是从中发现外观 url。 。 。 . |
清除IconCache 选项
清除缓存提供者图标的选项 .
| Prop | 类型 | 说明 |
|---|---|---|
apps | string[] | 应用标识符以清除 。 所有缓存图标的默认值 . |
类型异名
记录
构造 T 类型 K 的一组属性类型
{
[P in K]: T;
}
数字
运输模式
| 成员 | 数值 |
|---|---|
DRIVING | 'driving' |
WALKING | 'walking' |
BICYCLING | 'bicycling' |
TRANSIT | 'transit' |
IOS导航系统App
| 成员 | 数值 |
|---|---|
APPLE_MAPS | 'apple_maps' |
GOOGLE_MAPS | 'google_maps' |
WAZE | 'waze' |
CITYMAPPER | 'citymapper' |
NAVIGON | 'navigon' |
GARMIN_NAVIGON | 'navigon' |
TRANSIT_APP | 'transit_app' |
YANDEX_NAVIGATOR | 'yandex' |
UBER | 'uber' |
TOMTOM | 'tomtom' |
SYGIC | 'sygic' |
HERE_MAPS | 'here_maps' |
MOOVIT | 'moovit' |
LYFT | 'lyft' |
MAPS_ME | 'maps_me' |
GURU_MAPS | 'guru_maps' |
ORGANIC_MAPS | 'organic_maps' |
YANDEX_MAPS | 'yandex_maps' |
TWO_GIS | '2gis' |
CABIFY | 'cabify' |
BAIDU | 'baidu' |
GAODE | 'gaode' |
TESLA | 'tesla' |
TAXIS_99 | 'taxis_99' |
TAXI_99 | 'taxis_99' |
AndroidNavigation App (英语)
| 成员 | 数值 |
|---|---|
GEO | 'geo' |
GOOGLE_MAPS | 'google_maps' |
WAZE | 'waze' |
CITYMAPPER | 'citymapper' |
UBER | 'uber' |
YANDEX | 'yandex' |
SYGIC | 'sygic' |
HERE_MAPS | 'here_maps' |
MOOVIT | 'moovit' |
LYFT | 'lyft' |
MAPS_ME | 'maps_me' |
TOMTOM | 'tomtom' |
GURU_MAPS | 'guru_maps' |
ORGANIC_MAPS | 'organic_maps' |
YANDEX_MAPS | 'yandex_maps' |
MAPY | 'mapy' |
TWO_GIS | '2gis' |
CABIFY | 'cabify' |
BAIDU | 'baidu' |
GAODE | 'gaode' |
TAXIS_99 | 'taxis_99' |
TAXI_99 | 'taxis_99' |
TESLA | 'tesla' |
启动模式
| 成员 | 数值 |
|---|---|
MAPS | 'maps' |
TURN_BY_TURN | 'turn_by_turn' |
GEO | 'geo' |
此插件的灵感来自 https://github.com/dpa99c/phonegap-launch-navigator 互联网档案馆的存檔,存档日期2014-10-02