@capawesome/capacitor-maps-launcher 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapawesomeCapacitorMapsLauncher.podspec +17 -0
- package/LICENSE +21 -0
- package/Package.swift +28 -0
- package/README.md +292 -0
- package/android/build.gradle +58 -0
- package/android/src/main/AndroidManifest.xml +10 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/MapsLauncher.java +200 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/MapsLauncherPlugin.java +117 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/classes/CustomException.java +20 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/classes/CustomExceptions.java +15 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/classes/options/Destination.java +57 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/classes/options/NavigateOptions.java +54 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/classes/results/GetAvailableAppsResult.java +29 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/classes/results/GetDefaultAppResult.java +25 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/interfaces/Callback.java +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/interfaces/EmptyCallback.java +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/interfaces/NonEmptyResultCallback.java +7 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/interfaces/Result.java +7 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/dist/docs.json +329 -0
- package/dist/esm/definitions.d.ts +195 -0
- package/dist/esm/definitions.js +47 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/web.d.ts +7 -0
- package/dist/esm/web.js +13 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +74 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +77 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Plugin/Classes/Options/Destination.swift +36 -0
- package/ios/Plugin/Classes/Options/NavigateOptions.swift +23 -0
- package/ios/Plugin/Classes/Results/GetAvailableAppsResult.swift +16 -0
- package/ios/Plugin/Enums/CustomError.swift +36 -0
- package/ios/Plugin/Info.plist +24 -0
- package/ios/Plugin/MapsLauncher.swift +182 -0
- package/ios/Plugin/MapsLauncherPlugin.swift +71 -0
- package/ios/Plugin/Protocols/Result.swift +5 -0
- package/package.json +94 -0
package/android/src/main/java/io/capawesome/capacitorjs/plugins/mapslauncher/MapsLauncherPlugin.java
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
package io.capawesome.capacitorjs.plugins.mapslauncher;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
5
|
+
import com.getcapacitor.Logger;
|
|
6
|
+
import com.getcapacitor.Plugin;
|
|
7
|
+
import com.getcapacitor.PluginCall;
|
|
8
|
+
import com.getcapacitor.PluginMethod;
|
|
9
|
+
import com.getcapacitor.annotation.CapacitorPlugin;
|
|
10
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.classes.CustomException;
|
|
11
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.classes.options.NavigateOptions;
|
|
12
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.classes.results.GetAvailableAppsResult;
|
|
13
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.classes.results.GetDefaultAppResult;
|
|
14
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.interfaces.EmptyCallback;
|
|
15
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.interfaces.NonEmptyResultCallback;
|
|
16
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.interfaces.Result;
|
|
17
|
+
|
|
18
|
+
@CapacitorPlugin(name = "MapsLauncher")
|
|
19
|
+
public class MapsLauncherPlugin extends Plugin {
|
|
20
|
+
|
|
21
|
+
public static final String ERROR_UNKNOWN_ERROR = "An unknown error has occurred.";
|
|
22
|
+
public static final String TAG = "MapsLauncherPlugin";
|
|
23
|
+
|
|
24
|
+
private MapsLauncher implementation;
|
|
25
|
+
|
|
26
|
+
@Override
|
|
27
|
+
public void load() {
|
|
28
|
+
super.load();
|
|
29
|
+
this.implementation = new MapsLauncher(this);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@PluginMethod
|
|
33
|
+
public void getAvailableApps(PluginCall call) {
|
|
34
|
+
try {
|
|
35
|
+
NonEmptyResultCallback<GetAvailableAppsResult> callback = new NonEmptyResultCallback<>() {
|
|
36
|
+
@Override
|
|
37
|
+
public void success(@NonNull GetAvailableAppsResult result) {
|
|
38
|
+
resolveCall(call, result);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@Override
|
|
42
|
+
public void error(Exception exception) {
|
|
43
|
+
rejectCall(call, exception);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
implementation.getAvailableApps(callback);
|
|
47
|
+
} catch (Exception exception) {
|
|
48
|
+
rejectCall(call, exception);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@PluginMethod
|
|
53
|
+
public void getDefaultApp(PluginCall call) {
|
|
54
|
+
try {
|
|
55
|
+
NonEmptyResultCallback<GetDefaultAppResult> callback = new NonEmptyResultCallback<>() {
|
|
56
|
+
@Override
|
|
57
|
+
public void success(@NonNull GetDefaultAppResult result) {
|
|
58
|
+
resolveCall(call, result);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@Override
|
|
62
|
+
public void error(Exception exception) {
|
|
63
|
+
rejectCall(call, exception);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
implementation.getDefaultApp(callback);
|
|
67
|
+
} catch (Exception exception) {
|
|
68
|
+
rejectCall(call, exception);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@PluginMethod
|
|
73
|
+
public void navigate(PluginCall call) {
|
|
74
|
+
try {
|
|
75
|
+
NavigateOptions options = new NavigateOptions(call);
|
|
76
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
77
|
+
@Override
|
|
78
|
+
public void success() {
|
|
79
|
+
resolveCall(call);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@Override
|
|
83
|
+
public void error(Exception exception) {
|
|
84
|
+
rejectCall(call, exception);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
implementation.navigate(options, callback);
|
|
88
|
+
} catch (Exception exception) {
|
|
89
|
+
rejectCall(call, exception);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
private void rejectCall(@NonNull PluginCall call, @NonNull Exception exception) {
|
|
94
|
+
String message = exception.getMessage();
|
|
95
|
+
if (message == null) {
|
|
96
|
+
message = ERROR_UNKNOWN_ERROR;
|
|
97
|
+
}
|
|
98
|
+
String code = null;
|
|
99
|
+
if (exception instanceof CustomException) {
|
|
100
|
+
code = ((CustomException) exception).getCode();
|
|
101
|
+
}
|
|
102
|
+
Logger.error(TAG, message, exception);
|
|
103
|
+
call.reject(message, code);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
private void resolveCall(@NonNull PluginCall call) {
|
|
107
|
+
call.resolve();
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
private void resolveCall(@NonNull PluginCall call, @Nullable Result result) {
|
|
111
|
+
if (result == null) {
|
|
112
|
+
call.resolve();
|
|
113
|
+
} else {
|
|
114
|
+
call.resolve(result.toJSObject());
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
package io.capawesome.capacitorjs.plugins.mapslauncher.classes;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
5
|
+
|
|
6
|
+
public class CustomException extends Exception {
|
|
7
|
+
|
|
8
|
+
@Nullable
|
|
9
|
+
private final String code;
|
|
10
|
+
|
|
11
|
+
public CustomException(@Nullable String code, @NonNull String message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.code = code;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@Nullable
|
|
17
|
+
public String getCode() {
|
|
18
|
+
return code;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
package io.capawesome.capacitorjs.plugins.mapslauncher.classes;
|
|
2
|
+
|
|
3
|
+
public class CustomExceptions {
|
|
4
|
+
|
|
5
|
+
public static final CustomException APP_NOT_AVAILABLE = new CustomException(
|
|
6
|
+
"APP_NOT_AVAILABLE",
|
|
7
|
+
"The requested navigation app is not installed or cannot be launched."
|
|
8
|
+
);
|
|
9
|
+
public static final CustomException DESTINATION_INVALID = new CustomException(
|
|
10
|
+
null,
|
|
11
|
+
"destination must contain either coordinates or an address, but not both."
|
|
12
|
+
);
|
|
13
|
+
public static final CustomException DESTINATION_MISSING = new CustomException(null, "destination must be provided.");
|
|
14
|
+
public static final CustomException LAUNCH_FAILED = new CustomException("LAUNCH_FAILED", "The navigation app could not be launched.");
|
|
15
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
package io.capawesome.capacitorjs.plugins.mapslauncher.classes.options;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
5
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.classes.CustomExceptions;
|
|
6
|
+
import org.json.JSONObject;
|
|
7
|
+
|
|
8
|
+
public class Destination {
|
|
9
|
+
|
|
10
|
+
@Nullable
|
|
11
|
+
private final String address;
|
|
12
|
+
|
|
13
|
+
@Nullable
|
|
14
|
+
private final Double latitude;
|
|
15
|
+
|
|
16
|
+
@Nullable
|
|
17
|
+
private final Double longitude;
|
|
18
|
+
|
|
19
|
+
public Destination(@NonNull JSONObject object) throws Exception {
|
|
20
|
+
boolean hasLatitude = object.has("latitude") && !object.isNull("latitude");
|
|
21
|
+
boolean hasLongitude = object.has("longitude") && !object.isNull("longitude");
|
|
22
|
+
boolean hasCoordinates = hasLatitude && hasLongitude;
|
|
23
|
+
String addressValue = object.isNull("address") ? null : object.optString("address", null);
|
|
24
|
+
boolean hasAddress = addressValue != null && !addressValue.trim().isEmpty();
|
|
25
|
+
if (hasCoordinates == hasAddress) {
|
|
26
|
+
throw CustomExceptions.DESTINATION_INVALID;
|
|
27
|
+
}
|
|
28
|
+
if (hasCoordinates) {
|
|
29
|
+
this.latitude = object.getDouble("latitude");
|
|
30
|
+
this.longitude = object.getDouble("longitude");
|
|
31
|
+
this.address = null;
|
|
32
|
+
} else {
|
|
33
|
+
this.latitude = null;
|
|
34
|
+
this.longitude = null;
|
|
35
|
+
this.address = addressValue;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@Nullable
|
|
40
|
+
public String getAddress() {
|
|
41
|
+
return address;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@Nullable
|
|
45
|
+
public Double getLatitude() {
|
|
46
|
+
return latitude;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@Nullable
|
|
50
|
+
public Double getLongitude() {
|
|
51
|
+
return longitude;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public boolean hasCoordinates() {
|
|
55
|
+
return latitude != null && longitude != null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
package io.capawesome.capacitorjs.plugins.mapslauncher.classes.options;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
5
|
+
import com.getcapacitor.JSObject;
|
|
6
|
+
import com.getcapacitor.PluginCall;
|
|
7
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.classes.CustomExceptions;
|
|
8
|
+
|
|
9
|
+
public class NavigateOptions {
|
|
10
|
+
|
|
11
|
+
@Nullable
|
|
12
|
+
private final String app;
|
|
13
|
+
|
|
14
|
+
@NonNull
|
|
15
|
+
private final Destination destination;
|
|
16
|
+
|
|
17
|
+
@Nullable
|
|
18
|
+
private final Destination start;
|
|
19
|
+
|
|
20
|
+
@Nullable
|
|
21
|
+
private final String travelMode;
|
|
22
|
+
|
|
23
|
+
public NavigateOptions(@NonNull PluginCall call) throws Exception {
|
|
24
|
+
JSObject destinationObject = call.getObject("destination");
|
|
25
|
+
if (destinationObject == null) {
|
|
26
|
+
throw CustomExceptions.DESTINATION_MISSING;
|
|
27
|
+
}
|
|
28
|
+
this.destination = new Destination(destinationObject);
|
|
29
|
+
JSObject startObject = call.getObject("start");
|
|
30
|
+
this.start = startObject == null ? null : new Destination(startObject);
|
|
31
|
+
this.app = call.getString("app");
|
|
32
|
+
this.travelMode = call.getString("travelMode");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@Nullable
|
|
36
|
+
public String getApp() {
|
|
37
|
+
return app;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@NonNull
|
|
41
|
+
public Destination getDestination() {
|
|
42
|
+
return destination;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@Nullable
|
|
46
|
+
public Destination getStart() {
|
|
47
|
+
return start;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@Nullable
|
|
51
|
+
public String getTravelMode() {
|
|
52
|
+
return travelMode;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package io.capawesome.capacitorjs.plugins.mapslauncher.classes.results;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import com.getcapacitor.JSArray;
|
|
5
|
+
import com.getcapacitor.JSObject;
|
|
6
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.interfaces.Result;
|
|
7
|
+
import java.util.List;
|
|
8
|
+
|
|
9
|
+
public class GetAvailableAppsResult implements Result {
|
|
10
|
+
|
|
11
|
+
@NonNull
|
|
12
|
+
private final List<String> apps;
|
|
13
|
+
|
|
14
|
+
public GetAvailableAppsResult(@NonNull List<String> apps) {
|
|
15
|
+
this.apps = apps;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@Override
|
|
19
|
+
@NonNull
|
|
20
|
+
public JSObject toJSObject() {
|
|
21
|
+
JSArray appsArray = new JSArray();
|
|
22
|
+
for (String app : apps) {
|
|
23
|
+
appsArray.put(app);
|
|
24
|
+
}
|
|
25
|
+
JSObject result = new JSObject();
|
|
26
|
+
result.put("apps", appsArray);
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
package io.capawesome.capacitorjs.plugins.mapslauncher.classes.results;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
5
|
+
import com.getcapacitor.JSObject;
|
|
6
|
+
import io.capawesome.capacitorjs.plugins.mapslauncher.interfaces.Result;
|
|
7
|
+
import org.json.JSONObject;
|
|
8
|
+
|
|
9
|
+
public class GetDefaultAppResult implements Result {
|
|
10
|
+
|
|
11
|
+
@Nullable
|
|
12
|
+
private final String app;
|
|
13
|
+
|
|
14
|
+
public GetDefaultAppResult(@Nullable String app) {
|
|
15
|
+
this.app = app;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@Override
|
|
19
|
+
@NonNull
|
|
20
|
+
public JSObject toJSObject() {
|
|
21
|
+
JSObject result = new JSObject();
|
|
22
|
+
result.put("app", app == null ? JSONObject.NULL : app);
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
File without changes
|
package/dist/docs.json
ADDED
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
{
|
|
2
|
+
"api": {
|
|
3
|
+
"name": "MapsLauncherPlugin",
|
|
4
|
+
"slug": "mapslauncherplugin",
|
|
5
|
+
"docs": "",
|
|
6
|
+
"tags": [],
|
|
7
|
+
"methods": [
|
|
8
|
+
{
|
|
9
|
+
"name": "getAvailableApps",
|
|
10
|
+
"signature": "() => Promise<GetAvailableAppsResult>",
|
|
11
|
+
"parameters": [],
|
|
12
|
+
"returns": "Promise<GetAvailableAppsResult>",
|
|
13
|
+
"tags": [
|
|
14
|
+
{
|
|
15
|
+
"name": "since",
|
|
16
|
+
"text": "0.1.0"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"docs": "Get the navigation apps that are installed and can be launched.\n\nOn iOS, Apple Maps is always included. Google Maps and Waze are only\nincluded if the corresponding `LSApplicationQueriesSchemes` entries are\nadded to the `Info.plist` file of your app.\n\nOnly available on Android and iOS.",
|
|
20
|
+
"complexTypes": [
|
|
21
|
+
"GetAvailableAppsResult"
|
|
22
|
+
],
|
|
23
|
+
"slug": "getavailableapps"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "getDefaultApp",
|
|
27
|
+
"signature": "() => Promise<GetDefaultAppResult>",
|
|
28
|
+
"parameters": [],
|
|
29
|
+
"returns": "Promise<GetDefaultAppResult>",
|
|
30
|
+
"tags": [
|
|
31
|
+
{
|
|
32
|
+
"name": "since",
|
|
33
|
+
"text": "0.1.0"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"docs": "Get the navigation app that is configured as the default handler for\nnavigation intents.\n\nReturns `null` if the default app is not part of the curated list of\nsupported apps or if no default app is set (i.e. the system shows a\nchooser).\n\nOnly available on Android.",
|
|
37
|
+
"complexTypes": [
|
|
38
|
+
"GetDefaultAppResult"
|
|
39
|
+
],
|
|
40
|
+
"slug": "getdefaultapp"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "navigate",
|
|
44
|
+
"signature": "(options: NavigateOptions) => Promise<void>",
|
|
45
|
+
"parameters": [
|
|
46
|
+
{
|
|
47
|
+
"name": "options",
|
|
48
|
+
"docs": "",
|
|
49
|
+
"type": "NavigateOptions"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"returns": "Promise<void>",
|
|
53
|
+
"tags": [
|
|
54
|
+
{
|
|
55
|
+
"name": "since",
|
|
56
|
+
"text": "0.1.0"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"docs": "Launch a navigation app with turn-by-turn directions to a destination.\n\nIf no `app` is provided, the system default behavior is used (a chooser on\nAndroid, Apple Maps on iOS).\n\nOnly available on Android and iOS.",
|
|
60
|
+
"complexTypes": [
|
|
61
|
+
"NavigateOptions"
|
|
62
|
+
],
|
|
63
|
+
"slug": "navigate"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"properties": []
|
|
67
|
+
},
|
|
68
|
+
"interfaces": [
|
|
69
|
+
{
|
|
70
|
+
"name": "GetAvailableAppsResult",
|
|
71
|
+
"slug": "getavailableappsresult",
|
|
72
|
+
"docs": "",
|
|
73
|
+
"tags": [
|
|
74
|
+
{
|
|
75
|
+
"text": "0.1.0",
|
|
76
|
+
"name": "since"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"methods": [],
|
|
80
|
+
"properties": [
|
|
81
|
+
{
|
|
82
|
+
"name": "apps",
|
|
83
|
+
"tags": [
|
|
84
|
+
{
|
|
85
|
+
"text": "0.1.0",
|
|
86
|
+
"name": "since"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"docs": "The navigation apps that are installed and can be launched.",
|
|
90
|
+
"complexTypes": [
|
|
91
|
+
"NavigationApp"
|
|
92
|
+
],
|
|
93
|
+
"type": "NavigationApp[]"
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "GetDefaultAppResult",
|
|
99
|
+
"slug": "getdefaultappresult",
|
|
100
|
+
"docs": "",
|
|
101
|
+
"tags": [
|
|
102
|
+
{
|
|
103
|
+
"text": "0.1.0",
|
|
104
|
+
"name": "since"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"methods": [],
|
|
108
|
+
"properties": [
|
|
109
|
+
{
|
|
110
|
+
"name": "app",
|
|
111
|
+
"tags": [
|
|
112
|
+
{
|
|
113
|
+
"text": "0.1.0",
|
|
114
|
+
"name": "since"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"docs": "The navigation app that is configured as the default handler.\n\nReturns `null` if the default app is not part of the curated list of\nsupported apps or if no default app is set.",
|
|
118
|
+
"complexTypes": [
|
|
119
|
+
"NavigationApp"
|
|
120
|
+
],
|
|
121
|
+
"type": "NavigationApp | null"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "NavigateOptions",
|
|
127
|
+
"slug": "navigateoptions",
|
|
128
|
+
"docs": "",
|
|
129
|
+
"tags": [
|
|
130
|
+
{
|
|
131
|
+
"text": "0.1.0",
|
|
132
|
+
"name": "since"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"methods": [],
|
|
136
|
+
"properties": [
|
|
137
|
+
{
|
|
138
|
+
"name": "app",
|
|
139
|
+
"tags": [
|
|
140
|
+
{
|
|
141
|
+
"text": "0.1.0",
|
|
142
|
+
"name": "since"
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
"docs": "The navigation app to launch.\n\nIf not provided, the system default behavior is used (a chooser on\nAndroid, Apple Maps on iOS).",
|
|
146
|
+
"complexTypes": [
|
|
147
|
+
"NavigationApp"
|
|
148
|
+
],
|
|
149
|
+
"type": "NavigationApp"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"name": "destination",
|
|
153
|
+
"tags": [
|
|
154
|
+
{
|
|
155
|
+
"text": "0.1.0",
|
|
156
|
+
"name": "since"
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"docs": "The destination to navigate to.",
|
|
160
|
+
"complexTypes": [
|
|
161
|
+
"Destination"
|
|
162
|
+
],
|
|
163
|
+
"type": "Destination"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"name": "start",
|
|
167
|
+
"tags": [
|
|
168
|
+
{
|
|
169
|
+
"text": "0.1.0",
|
|
170
|
+
"name": "since"
|
|
171
|
+
}
|
|
172
|
+
],
|
|
173
|
+
"docs": "The start location of the route.\n\nIf not provided, the current location of the device is used.\n\n**Note**: The support depends on the selected app. Apple Maps supports it\nfully, Google Maps opens the directions preview instead of starting\nturn-by-turn navigation, and Waze ignores it.",
|
|
174
|
+
"complexTypes": [
|
|
175
|
+
"Destination"
|
|
176
|
+
],
|
|
177
|
+
"type": "Destination"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"name": "travelMode",
|
|
181
|
+
"tags": [
|
|
182
|
+
{
|
|
183
|
+
"text": "'driving'",
|
|
184
|
+
"name": "default"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"text": "0.1.0",
|
|
188
|
+
"name": "since"
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"docs": "The travel mode to use for the directions.\n\n**Note**: The support depends on the selected app and is best-effort.\nWaze only supports driving and ignores this option.",
|
|
192
|
+
"complexTypes": [
|
|
193
|
+
"TravelMode"
|
|
194
|
+
],
|
|
195
|
+
"type": "TravelMode"
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "Destination",
|
|
201
|
+
"slug": "destination",
|
|
202
|
+
"docs": "A destination is either defined by its coordinates or by its address, but\nnot both.",
|
|
203
|
+
"tags": [
|
|
204
|
+
{
|
|
205
|
+
"text": "0.1.0",
|
|
206
|
+
"name": "since"
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"methods": [],
|
|
210
|
+
"properties": [
|
|
211
|
+
{
|
|
212
|
+
"name": "address",
|
|
213
|
+
"tags": [
|
|
214
|
+
{
|
|
215
|
+
"text": "'Apple Park, Cupertino, CA'",
|
|
216
|
+
"name": "example"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"text": "0.1.0",
|
|
220
|
+
"name": "since"
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"docs": "The address of the destination.\n\nMust be provided without `latitude` and `longitude`.",
|
|
224
|
+
"complexTypes": [],
|
|
225
|
+
"type": "string | undefined"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "latitude",
|
|
229
|
+
"tags": [
|
|
230
|
+
{
|
|
231
|
+
"text": "37.3349",
|
|
232
|
+
"name": "example"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"text": "0.1.0",
|
|
236
|
+
"name": "since"
|
|
237
|
+
}
|
|
238
|
+
],
|
|
239
|
+
"docs": "The latitude of the destination.\n\nMust be provided together with `longitude` and without `address`.",
|
|
240
|
+
"complexTypes": [],
|
|
241
|
+
"type": "number | undefined"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "longitude",
|
|
245
|
+
"tags": [
|
|
246
|
+
{
|
|
247
|
+
"text": "-122.009",
|
|
248
|
+
"name": "example"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"text": "0.1.0",
|
|
252
|
+
"name": "since"
|
|
253
|
+
}
|
|
254
|
+
],
|
|
255
|
+
"docs": "The longitude of the destination.\n\nMust be provided together with `latitude` and without `address`.",
|
|
256
|
+
"complexTypes": [],
|
|
257
|
+
"type": "number | undefined"
|
|
258
|
+
}
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
],
|
|
262
|
+
"enums": [
|
|
263
|
+
{
|
|
264
|
+
"name": "NavigationApp",
|
|
265
|
+
"slug": "navigationapp",
|
|
266
|
+
"members": [
|
|
267
|
+
{
|
|
268
|
+
"name": "AppleMaps",
|
|
269
|
+
"value": "'appleMaps'",
|
|
270
|
+
"tags": [
|
|
271
|
+
{
|
|
272
|
+
"text": "0.1.0",
|
|
273
|
+
"name": "since"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"docs": "Apple Maps.\n\nOnly available on iOS."
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"name": "GoogleMaps",
|
|
280
|
+
"value": "'googleMaps'",
|
|
281
|
+
"tags": [
|
|
282
|
+
{
|
|
283
|
+
"text": "0.1.0",
|
|
284
|
+
"name": "since"
|
|
285
|
+
}
|
|
286
|
+
],
|
|
287
|
+
"docs": "Google Maps."
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"name": "Waze",
|
|
291
|
+
"value": "'waze'",
|
|
292
|
+
"tags": [
|
|
293
|
+
{
|
|
294
|
+
"text": "0.1.0",
|
|
295
|
+
"name": "since"
|
|
296
|
+
}
|
|
297
|
+
],
|
|
298
|
+
"docs": "Waze."
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
}
|
|
302
|
+
],
|
|
303
|
+
"typeAliases": [
|
|
304
|
+
{
|
|
305
|
+
"name": "TravelMode",
|
|
306
|
+
"slug": "travelmode",
|
|
307
|
+
"docs": "The travel mode to use for the directions.\n\n- `driving`: Driving directions.\n- `walking`: Walking directions.\n- `bicycling`: Bicycling directions.\n- `transit`: Public transit directions.",
|
|
308
|
+
"types": [
|
|
309
|
+
{
|
|
310
|
+
"text": "'driving'",
|
|
311
|
+
"complexTypes": []
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"text": "'walking'",
|
|
315
|
+
"complexTypes": []
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"text": "'bicycling'",
|
|
319
|
+
"complexTypes": []
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"text": "'transit'",
|
|
323
|
+
"complexTypes": []
|
|
324
|
+
}
|
|
325
|
+
]
|
|
326
|
+
}
|
|
327
|
+
],
|
|
328
|
+
"pluginConfigs": []
|
|
329
|
+
}
|