智能照明系统APP-本地串口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
LightingSystemApp-serial/.svn/pristine/37/37a5200f440a45f8c27145d43b1...

48 lines
1.1 KiB

import {
invokeMethod,
getCurrentPageVm
} from '../../platform'
import {
callback
} from 'uni-shared'
function operateMapPlayer (mapId, pageVm, type, data) {
invokeMethod('operateMapPlayer', mapId, pageVm, type, data)
}
UniServiceJSBridge.subscribe('onMapMethodCallback', ({
callbackId,
data
}) => {
callback.invoke(callbackId, data)
})
const methods = ['getCenterLocation', 'moveToLocation', 'getScale', 'getRegion', 'includePoints', 'translateMarker']
export class MapContext {
constructor (id, pageVm) {
this.id = id
this.pageVm = pageVm
}
}
MapContext.prototype.$getAppMap = function () {
if (__PLATFORM__ === 'app-plus') {
return plus.maps.getMapById(this.pageVm.$page.id + '-map-' + this.id)
}
}
methods.forEach(function (method) {
MapContext.prototype[method] = callback.warp(function (options, callbackId) {
options.callbackId = callbackId
operateMapPlayer(this.id, this.pageVm, method, options)
})
})
export function createMapContext (id, context) {
if (context) {
return new MapContext(id, context)
}
return new MapContext(id, getCurrentPageVm('createMapContext'))
}