nadesiko3
Version:
Japanese Programming Language
52 lines (49 loc) • 1.91 kB
text/typescript
// @ts-nocheck
export default {
// @位置情報
'位置情報取得時': { // @位置情報を取得してコールバック関数内で変数「対象」に配列で[緯度,経度]を返す // @いちじょうほうしゅとくしたとき
type: 'func',
josi: [['の', 'に', 'へ']],
pure: true,
fn: function (func: any, sys: any) {
let cb = func
if (typeof cb === 'string') { cb = sys.__findVar(cb) }
if (!('geolocation' in navigator)) { throw new Error('関数『位置情報取得時』は使えません。') }
navigator.geolocation.getCurrentPosition((position) => {
sys.__setSysVar('対象', [
position.coords.latitude,
position.coords.longitude
])
cb(position)
})
},
return_none: true
},
'位置情報監視時': { // @位置情報を監視してIDを返す。引数に指定したコールバック関数内で変数「対象」に配列で[緯度,経度]を返す // @いちじょうほうかんししたとき
type: 'func',
josi: [['の', 'に', 'へ']],
pure: true,
fn: function (func: any, sys: any) {
let cb = func
if (typeof cb === 'string') { cb = sys.__findVar(cb) }
if (!('geolocation' in navigator)) { throw new Error('関数『位置情報監視時』は使えません。') }
return navigator.geolocation.watchPosition((position) => {
sys.__setSysVar('対象', [
position.coords.latitude,
position.coords.longitude
])
cb(position)
})
},
return_none: false
},
'位置情報監視停止': { // @『位置情報監視時』で開始した監視を停止する // @いちじょうほうかんしていし
type: 'func',
josi: [['の']],
pure: true,
fn: function (wid: any, sys: any) {
navigator.geolocation.clearWatch(wid)
},
return_none: true
}
}