uni-app 有能开发谷歌地图导航 获取轨迹 预计达到时间的原生插件的吗?

uni-app 有能开发谷歌地图导航 获取轨迹 预计达到时间的原生插件的吗?

项目需求:

  • 用户端:

    • 可以查看司机的实时位置
    • 能够查看司机的行驶路线轨迹
    • 能够计算出预计到达时间
  • 司机端:

    • 可以规划路线在app内进行导航,上报位置
    • 订单查看行驶轨迹
  • 需求:

    • 需要安卓+IOS原生插件
    • 费用可谈
    • 保证质量
2 回复

google导航好像申请不到sdk,
专业插件开发 q 1196097915 主页 https://ask.dcloud.net.cn/question/91948

更多关于uni-app 有能开发谷歌地图导航 获取轨迹 预计达到时间的原生插件的吗?的实战教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提到的uni-app开发谷歌地图导航、获取轨迹以及预计达到时间的需求,确实存在一些原生插件或方法可以实现这些功能,但需要注意的是,直接在uni-app中使用谷歌地图的原生功能可能需要借助原生模块开发或者已有的第三方插件。以下是一个简要的实现思路和代码示例框架,由于直接运行代码需要具体环境和配置,这里主要提供方向和示例代码片段。

实现思路

  1. 使用谷歌地图SDK:在Android和iOS平台上分别集成谷歌地图SDK。
  2. 开发原生插件:基于uni-app的原生插件开发规范,封装谷歌地图的相关功能。
  3. 调用原生插件:在uni-app项目中调用封装好的原生插件接口。

示例代码框架

1. Android原生插件开发(Java/Kotlin)

在Android项目中集成谷歌地图SDK,并实现导航、获取轨迹和预计到达时间的功能。这里只展示一个简化的接口示例:

// MyGoogleMapPlugin.java
import com.alibaba.fastjson.JSONObject;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;
import io.dcloud.feature.uniapp.annotation.UniJSMethod;

public class MyGoogleMapPlugin extends UniModule {

    @UniJSMethod(uiThread = false)
    public void navigateTo(JSONObject args, UniJSCallback callback) {
        // 实现导航功能
        // ...
        callback.invokeAndKeepAlive(resultJSONObject);
    }

    @UniJSMethod(uiThread = false)
    public void getRouteAndETA(JSONObject args, UniJSCallback callback) {
        // 获取轨迹和预计到达时间
        // ...
        callback.invokeAndKeepAlive(resultJSONObject);
    }
}

2. iOS原生插件开发(Objective-C/Swift)

在iOS项目中集成谷歌地图SDK,并实现相应功能。同样,这里只展示接口示例:

// MyGoogleMapPlugin.m
#import <UniApp/UniModule.h>

@interface MyGoogleMapPlugin : UniModule

- (void)navigateTo:(NSDictionary *)args callback:(void (^)(NSDictionary *))callback;
- (void)getRouteAndETA:(NSDictionary *)args callback:(void (^)(NSDictionary *))callback;

@end

@implementation MyGoogleMapPlugin

- (void)navigateTo:(NSDictionary *)args callback:(void (^)(NSDictionary *))callback {
    // 实现导航功能
    // ...
    callback(@{...}); // 返回结果
}

- (void)getRouteAndETA:(NSDictionary *)args callback:(void (^)(NSDictionary *))callback {
    // 获取轨迹和预计到达时间
    // ...
    callback(@{...}); // 返回结果
}

@end

3. 在uni-app中调用原生插件

// 在uni-app项目中调用原生插件
uni.requireNativePlugin('MyGoogleMapPlugin').navigateTo({
    // 参数
}, (res) => {
    console.log(res);
});

uni.requireNativePlugin('MyGoogleMapPlugin').getRouteAndETA({
    // 参数
}, (res) => {
    console.log(res);
});

请注意,上述代码仅为示例框架,实际开发中需要根据谷歌地图SDK的文档进行详细实现,并确保在Android和iOS平台上正确集成和配置SDK。同时,原生插件的开发和调试需要一定的原生开发经验。

回到顶部