ymx-baidu-location
    正在准备搜索索引...

    接口 YmxBaiduLocation

    百度定位服务

    // 获取插件实例
    const bdLoc = ymx.requirePlugin('ymx-baidu-location') as YmxBaiduLocation;

    // 单次定位
    const res = await bdLoc.getCurrentPosition({
    coorType: 'BD09LL'
    });
    console.log(`经度: ${res.longitude}, 纬度: ${res.latitude}`);

    // 监听连续定位结果
    bdLoc.setListener((eventName, res) => {
    if (eventName === 'location') {
    console.log(`实时位置: ${res.longitude}, ${res.latitude}`);
    }
    });
    // 开启连续定位
    await bdLoc.getCurrentPosition({
    coorType: 'BD09LL',
    watch: true
    });

    // 停止定位
    await bdLoc.stop();
    interface YmxBaiduLocation {
        id: string;
        version: string;
        getCurrentPosition(data?: LocationData): Promise<LocationResult>;
        removeListener(): Promise<void>;
        setListener(
            listener: (eventName: string, data: any) => void,
        ): Promise<void>;
        stop(): Promise<void>;
    }

    层级

    • JsApiBase
      • YmxBaiduLocation
    索引

    属性

    id: string

    获取插件 ID

    version: string

    获取插件版本,如 1.2.3

    方法

    • 获取当前位置

      参数

      返回 Promise<LocationResult>

      const bdLoc = ymx.requirePlugin('ymx-baidu-location') as YmxBaiduLocation;

      // 单次定位
      bdLoc.getCurrentPosition({
      coorType: 'BD09LL'
      }).then(res => {
      console.log(`经度: ${res.longitude}, 纬度: ${res.latitude}`);
      }).catch(err => {
      console.error(err);
      });

      // 监听连续定位结果
      bdLoc.setListener((eventName, res) => {
      if (eventName === 'location') {
      console.log(`实时位置: ${res.longitude}, ${res.latitude}`);
      }
      });
      // 开启连续定位
      bdLoc.getCurrentPosition({
      coorType: 'BD09LL',
      watch: true
      });

      // 停止定位
      await bdLoc.stop();
    • 移除监听器

      返回 Promise<void>

    • 设置监听器,接收 eventName 事件名称,data 事件数据

      注意: 此接口为覆盖操作,仅保留最后一个监听器,最后的 listener 才能收到事件通知。

      参数

      • listener: (eventName: string, data: any) => void

      返回 Promise<void>

    • 停止定位

      返回 Promise<void>

      const bdLoc = ymx.requirePlugin('ymx-baidu-location') as YmxBaiduLocation;
      await bdLoc.stop();