@finclip/ide-sdk-map

1.8.23-idesdk.5 • Public • Published

本项目为 SDK 提供了 MAP 组件 API / 位置 API 交互界面

MAP 组件相关 API


模块引入:

import mapModule from '@finclip/ide-sdk-map' 

mapModule 暴露以下 API:

  1. insertNativeMap
  2. removeNativeMap
  3. updateNativeMap
  4. injectBridgeHelpers

在 MAP 组件挂载,insertNativeMap 被调用之前,需要通过 injectBridgeHelpers 注入一些相关的 helpers function,使用方法如下:

/**
 * @param {Function} invokeCallback 
 * function invokeCallback (statue, event, callbackId, params = {}) {
 *  // implement
 * }
 * @param {Function} emitCustomEvent
 * @param {Object} FinChatJSBridge 
mapModule.injectBridgeHelpers(invokeCallback, emitCustomEvent, FinChatJSBridge)
调用时需确保 FinChatJSBridge 可获取

位置相关 API 交互界面 webApp


引入:

  • 引入 @finclip/ide-sdk-map/dist'(里面包含 index.html 及相应的静态资源)

通讯:

  • SDK 与该 webApp 通过 postMessage 通讯

    // 发送数据 
    window.postMessage({
      event: 'chooseLocation' // chooseLocation, openLocation, choosePoi 
      openType: '' //  open, choose, choosePoi
      latitude: xxx, // number 
      longitude: xxx, //number
      scale: xxx, //number
      name: 'jimmy',
      address: 'xxxx',
      locationId: '', // 随机串,用于标记事件唯一,仅 chooseLocation 传递
      choosepoiId: '' // 随机串,用于标记事件唯一,仅 choosePoi 传递
    })
    
    
    // 接收数据
    window.addEventListener("message", (e) => {
      const data = e.data 
      const { event, ...recieveData } = data  
        // event: chooseLocation, openLocation, choosePoi
        // recieveData 接收到的实际数据
      
    }, false);
    
    
    // SDK 一侧可以通过监听 webApp 的 onLoad 事件的 isMapFrameLoaded ,判断其是否已经加载完成
    
    window.addEventListener("message", (e) => {
      	const data = e.data 
        const { event, ...recieveData } = data choosePoi 
        if(event === 'onLoad') {
          const isMapFrameLoaded = recieveData.isMapFrameLoaded 
        }
      
    }, false);

Readme

Keywords

none

Package Sidebar

Install

npm i @finclip/ide-sdk-map

Weekly Downloads

0

Version

1.8.23-idesdk.5

License

none

Unpacked Size

126 kB

Total Files

16

Last publish

Collaborators

  • finclip