map.js 1.1 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1
import {
fxy060608's avatar
fxy060608 已提交
2
  findElmById,
fxy060608's avatar
fxy060608 已提交
3 4 5 6 7
  invokeVmMethod,
  invokeVmMethodWithoutArgs
} from '../util'

class MapContext {
fxy060608's avatar
format  
fxy060608 已提交
8
  constructor (id, ctx) {
fxy060608's avatar
fxy060608 已提交
9 10 11 12
    this.id = id
    this.ctx = ctx
  }

fxy060608's avatar
format  
fxy060608 已提交
13
  getCenterLocation (cbs) {
fxy060608's avatar
fxy060608 已提交
14 15 16
    return invokeVmMethodWithoutArgs(this.ctx, 'getCenterLocation', cbs)
  }

fxy060608's avatar
format  
fxy060608 已提交
17
  moveToLocation () {
fxy060608's avatar
fxy060608 已提交
18 19 20
    return invokeVmMethodWithoutArgs(this.ctx, 'moveToLocation')
  }

fxy060608's avatar
format  
fxy060608 已提交
21
  translateMarker (args) {
fxy060608's avatar
fxy060608 已提交
22 23 24
    return invokeVmMethod(this.ctx, 'translateMarker', args, ['animationEnd'])
  }

fxy060608's avatar
format  
fxy060608 已提交
25
  includePoints (args) {
fxy060608's avatar
fxy060608 已提交
26 27 28
    return invokeVmMethod(this.ctx, 'includePoints', args)
  }

fxy060608's avatar
format  
fxy060608 已提交
29
  getRegion (cbs) {
fxy060608's avatar
fxy060608 已提交
30 31 32
    return invokeVmMethodWithoutArgs(this.ctx, 'getRegion', cbs)
  }

fxy060608's avatar
format  
fxy060608 已提交
33
  getScale (cbs) {
fxy060608's avatar
fxy060608 已提交
34 35 36 37
    return invokeVmMethodWithoutArgs(this.ctx, 'getScale', cbs)
  }
}

fxy060608's avatar
format  
fxy060608 已提交
38
export function createMapContext (id, vm) {
fxy060608's avatar
fxy060608 已提交
39 40 41 42 43
  if (!vm) {
    global.nativeLog('uni.createMapContext 必须传入第二个参数,即当前 vm 对象(this)', '__WARN')
  }
  const elm = findElmById(id, vm)
  if (!elm) {
fxy060608's avatar
fxy060608 已提交
44 45
    global.nativeLog('Can not find `' + id + '`', '__WARN')
  }
fxy060608's avatar
fxy060608 已提交
46
  return new MapContext(id, elm)
fxy060608's avatar
fxy060608 已提交
47
}