Html5+ 技术规范javascript
(上)css
2016-03-01html
修订历史:html5
类型java |
日期git |
做者web |
里程碑版本号json |
章节跨域 |
备注数组 |
建立 |
2016-03-01 |
|
1.0.0.BUILD.01 |
所有 |
|
目 录
Accelerometer 4
Audio. 15
Barcode. 31
Camera. 50
Contacts 65
Device. 85
Downloader 119
Events 146
Gallery. 159
Geolocation. 172
IO.. 188
Key. 251
Maps 259
Messaging. 394
Accelerometer
Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。经过plus.accelerometer获取设备加速度传感器管理对象。
方法:
getCurrentAcceleration: 获取当前设备的加速度信息
watchAcceleration: 监听设备加速度变化信息
clearWatch: 关闭监听设备加速度信息
对象:
Acceleration: 设备加速度信息对象
AccelerometerOption: 监听设备加速度感应器参数
回调方法:
AccelerometerSuccessCallback: 获取设备加速度信息成功的回调函数
AccelerometerErrorCallback: 获取设备加速度信息失败的回调函数
权限:
permissions
"Accelerometer": {
"description": "访问加速度感应器设备"}
getCurrentAcceleration
获取当前设备的加速度信息
void plus.accelerometer.getCurrentAcceleration( successCB, errorCB );
说明:
加速度是设备在当前方向上所作相对运动变化(增、减量)的运动传感器。加速度信息包括x、y、z三个方向的信息。 加速度信息可经过successCB回调函数返回。加速度信息获取失败则调用回调函数errorCB。
参数:
successCB: ( AccelerometerSuccessCallback ) 必选 获取设备加速度信息成功回调函数
errorCB: ( AccelerometerErrorCallback ) 可选 获取设备加速度信息失败回调函数
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
plus.accelerometer.getCurrentAcceleration( function( a ) {
alert( "Acceleration\nx:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis );
} );}, false );
</script>
</head>
<body>
</body></html>
watchAcceleration
监听设备加速度变化信息
Number plus.accelerometer.watchAcceleration( successCB, errorCB, option );
说明:
加速度是设备在当前方向上所作相对运动变化(增、减量)的运动传感器。加速度信息包括x、y、z三个方向的信息。 watchAcceleration每隔固定时间就获取一次设备的加速度信息,经过successCB回调函数返回。可经过option的frequency参数设定获取设备加速度信息的时间间隔。 加速度信息获取失败则调用回调函数errorCB。
参数:
successCB: ( AccelerometerSuccessCallback ) 必选 成功回调函数
当获取设备的加速度信息成功时回调,并返回加速度信息。
errorCB: ( AccelerometerErrorCallback ) 可选 失败回调函数
当获取设备加速度信息失败回调函数,并返回错误信息。
options: ( AccelerometerOption ) 可选 加速度信息参数
监听设备加速度信息的参数,如更新数据的频率等。
返回值:
Number : 用于标识加速度信息监听器,可经过clearWatch方法取消监听。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText = "x:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
} ); }, false );
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p>
</body></html>
clearWatch
关闭监听设备加速度信息
void plus.accelerometer.clearWatch( watchId );
说明:
关闭监听设备加速度信息,应用关闭调用watchAcceleration方法的开启的监听操做。
参数:
watchId: ( Number ) 必选
须要取消的加速度监听器标识,调用watchAcceleration方法的返回值。
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">var wid = null;// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
var acc = document.getElementById("acc");
wid = plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText = "x:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
} ); }, false );function cancel() {
plus.accelerometer.clearWatch( wid );
wid = null;}
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p><br/>
<button onclick="cancel()">Cancel</button>
</body></html>
Acceleration
设备加速度信息对象
interface Acceleration {
readonly attribute Number xAxis;
readonly attribute Number yAxis;
readonly attribute Number zAxis; }
说明:
JSON对象,保存获取设备的加速度信息,包括x、y、z三个方向的加速度信息。
属性:
xAxis: (Number 类型 )x轴方向的加速度
获取当前设备x轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
yAxis: (Number 类型 )y轴方向的加速度
获取当前设备y轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
zAxis: (Number 类型 )z轴方向的加速度
获取当前设备z轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText = "x:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
} ); }, false );
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p>
</body></html>
AccelerometerOption
监听设备加速度感应器参数
interface Acceleration {
readonly attribute DOMString frequency;}
说明:
JSON对象,用于设置获取设备加速度信息的参数。
属性:
frequency: (Number 类型 )更新加速度信息间隔时间
监听器获取加速度信息的时间间隔,单位为ms,默认值为500ms
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText = "x:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
}, {frequency:1000} ); // 设置更新间隔时间为1s}, false );
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p>
</body></html>
AccelerometerSuccessCallback
获取设备加速度信息成功的回调函数
void onSuccess( acceleration ) {
// Get acceleration code.}
参数:
acceleration: ( Acceleration ) 必选 设备的加速度信息
Acceleration类型对象,用于获取各方向的详细加速度值。
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText = "x:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
} ); }, false );
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p>
</body></html>
AccelerometerErrorCallback
获取设备加速度信息失败的回调函数
function void onAccelerometerError( Exception error ) {
// Handle error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息}
参数:
error: ( Exception ) 必选 获取加速度操做的错误信息
可经过error.code(Number类型)获取错误编码; 可经过error.message(String类型)获取错误描述信息。
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText = "x:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
} ); }, false );
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p>
</body></html>
Audio
Audio模块用于提供音频的录制和播放功能,可调用系统的麦克风设备进行录音操做,也可调用系统的扬声器设备播放音频文件。经过plus.audio获取音频管理对象。
常量:
ROUTE_SPEAKER: 设备的扬声器音频输出线路
ROUTE_EARPIECE: 设备听筒音频输出线路
方法:
getRecorder: 获取当前设备的录音对象
createPlayer: 建立音频播放对象
对象:
AudioRecorder: 录音对象
AudioPlayer: 音频播放对象
RecordOption: JSON对象,调用麦克风设备进行录音的参数
回调方法:
RecordSuccessCallback: 录音操做成功回调
PlaySuccessCallback: 播放音频文件操做成功回调
AudioErrorCallback: 音频操做失败回调
权限:
permissions
"Audio": {
"description": "访问音频设备"}
ROUTE_SPEAKER
设备的扬声器音频输出线路
plus.audio.ROUTE_SPEAKER;
说明:
Number 类型
音频输出线路常量,值为0。音频播放时在设备的扬声器输出。
ROUTE_EARPIECE
设备听筒音频输出线路
plus.audio.ROUTE_EARPIECE;
说明:
Number 类型
音频输出线路常量,值为1。音频播放时在设备的听筒输出。
getRecorder
获取当前设备的录音对象
AudioRecorder plus.audio.getRecorder();
说明:
获取当前设备的录音对象,进行录音操做,录音对象是设备的独占资源,在同一时间仅可执行一个录音操做,不然可能会致使操做失败。
参数:
返回值:
AudioRecorder : 录音对象
平台支持:
Android - 2.2+ (支持): 支持录制"amr"、"3gp"等格式文件。
iOS - 4.3+ (支持): 支持录制"wav"、"aac"、"amr"等格式文件。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Audio Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
r = plus.audio.getRecorder(); }function startRecord() {
if ( r == null ) {
alert( "Device not ready!" );
return;
}
r.record( {filename:"_doc/audio/"}, function () {
alert( "Audio record success!" );
}, function ( e ) {
alert( "Audio record failed: " + e.message );
} );}function stopRecord() {
r.stop(); }
</script>
</head>
<body>
<input type="button" value="Start Record" onclick="startRecord();"/>
<br/>
<input type="button" value="Stop Record" onclick="stopRecord();"/>
</body></html>
createPlayer
建立音频播放对象
AudioPlayer plus.audio.createPlayer( path );
说明:
建立一个音频文件播放对象,用于打开音频文件并播放。 可经过path参数指定要播放的音频文件。建立后返回播放对象,经过Audio.play方法开始播放。
参数:
path: ( String ) 必选 音频文件路径
要播放的音频文件的路径。
返回值:
AudioPlayer : 音频播放对象
平台支持:
Android - 2.2+ (支持): 支持"aac"、"3gp"、"amr"、"mp3"、"mp4"、"mid"、"ogg"、"wav"等格式文件。 支持播放网络路径音频,以http/https开头,如“http://demo.dcloud.net.cn/test/audio/apple.mp3”。
iOS - 4.3+ (支持): 支持"aac"、"aiff"、"mp3"、"mid"、"wav"、"amr"等格式文件。 暂不支持播放网络路径音频。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Audio Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() { }var p = null; function startPlay() {
if ( plus.audio == undefined ) {
alert( "Device not ready!" );
}
p = plus.audio.createPlayer( "_Doc/Audio/test.mp3" );
p.play( function () {
alert( "Audio play success!" );
}, function ( e ) {
alert( "Audio play error: " + e.message );
} ); }function stopPlay() {
p.stop();}
</script>
</head>
<body>
<input type="button" value="Start Play" onclick="startPlay();"/>
<br/>
<input type="button" value="Stop Play" onclick="stopPlay();"/>
</body></html>
AudioRecorder
录音对象
interface AudioRecorder {
readonly attribute String[] supportedSamplerates;
readonly attribute String[] supportedFormats;
function record( option, successCB, errorCB );
function stop();}
属性:
supportedSamplerates: 数组,设备录音支持的采用率
supportedFormats: 数组,设备录音支持的文件格式
方法:
record: 调用设备麦克风进行录音操做
stop: 结束录音操做
supportedSamplerates
数组,设备录音支持的采用率
说明:
String 类型 只读属性
属性类型为Array(String),若不支持此属性则返回空数组对象。支持的录音采样率,字符串格式为“采样频率”,如“8000”;其单位为Hz。
supportedFormats
数组,设备录音支持的文件格式
说明:
String 类型 只读属性
属性类型为Array(String),若不支持此属性则返回空数组对象。支持的录音文件的格式,字符串格式为文件格式后缀名,如"mp3"、"aac"、"wav"等。
平台支持:
Android - 2.2+ (支持): Android平台支持"amr"、"3gp"格式,默认为"amr"。
iOS - 4.5+ (支持): iOS平台支持"aac"、"wav"、"amr"格式,默认为"wav"。
record
调用设备麦克风进行录音操做
void recorder.record( option, successCB, errorCB );
说明:
调用设备麦克风开始录音操做,录音完成需调用stop方法中止。录音完成后将经过successCB回调返回录音后的文件数据。
参数:
option: ( RecordOption ) 必选 设置录音的参数
successCB: ( RecordSuccessCallback ) 必选 录音操做成功回调函数
errorCB: ( AudioErrorCallback ) 可选 录音操做错误回调函数
返回值:
void : 无
示例:
// 录音操做var r = plus.audio.getRecorder();
r.record( {filename:"_doc/audio/"}, function () {
alert( "Audio record success!" );}, function ( e ) {
alert( "Audio record failed: " + e.message );} );
stop
结束录音操做
void recorder.stop();
说明:
结束录音操做,通知设备完成录音操做。录音完成后将调用record方法中传入的successCB回调返回录音文件。
参数:
无
返回值:
void : 无
示例:
// 录音操做var r = plus.audio.getRecorder();
r.record( {filename:"_doc/audio/"}, function () {
alert( "Audio record success!" );}, function ( e ) {
alert( "Audio record failed: " + e.message );} );
// ...... // 中止录音
r.stop();
AudioPlayer
音频播放对象
interface AudioPlayer {
function void play( successCB, errorCB );
function void pause();
function void resume();
function void stop();
function void seekTo( position );
function Number getDuration();
function Number getPosition();
function void setRoute( route );}
说明:
音频播放对象,用于音频文件的播放。不能经过new方法直接建立,只能经过audio.createPlayer方法建立。
方法:
play: 开始播放音频
pause: 暂停播放音频
resume: 恢复播放音频
stop: 中止播放音频
seekTo: 跳到指定位置播放音频
getDuration: 获取音频流的总长度
getPosition: 获取音频流当前播放的位置
setRoute: 设置音频输出线路
play
开始播放音频
void player.play( successCB, errorCB );
参数:
successCB: ( PlaySuccessCallback ) 必选 播放音频操做成功回调函数
当音频文件播放完成时回调。
errorCB: ( AudioErrorCallback ) 可选 播放音频操做错误回调函数
当音频文件播放发生错误时回调。
返回值:
void : 无
示例:
// 播放操做var p = plus.audio.createPlayer();
p.play( function () {
alert( "Audio play success!" );}, function ( e ) {
alert( "Audio play failed: " + e.message );} );
pause
暂停播放音频
void player.pause();
说明:
需先调用createPlayer方法建立音频播放对象,并开始播放。音频播放对象在播放状态才能暂停,在其它状态调用此方法无任何做用。
参数:
返回值:
void : 无
示例:
// 播放操做var p = plus.audio.createPlayer();
p.play( function () {
alert( "Audio play success!" );}, function ( e ) {
alert( "Audio play failed: " + e.message );} );// ......// 暂停播放
p.pause();
resume
恢复播放音频
void player.resume();
说明:
音频播放对象在暂停状态才能恢复播放,在其它状态调用此方法无任何做用。
参数:
返回值:
void : 无
示例:
// 播放操做var p = plus.audio.createPlayer();
p.play( function () {
alert( "Audio play success!" );}, function ( e ) {
alert( "Audio play failed: " + e.message );} );// ......// 暂停播放
p.pause();// ......// 恢复播放
p.resume();
stop
中止播放音频
void player.stop();
说明:
中止播放音频,音频播放对象在播放或暂停状态才能中止播放,在其它状态调用此方法无任何做用。 中止播放后若是须要继续播放,则需调用play方法从新开始播放。
参数:
返回值:
void : 无
示例:
// 播放操做var p = plus.audio.createPlayer();
p.play( function () {
alert( "Audio play success!" );}, function ( e ) {
alert( "Audio play failed: " + e.message );} );// ......// 中止播放
p.stop();
seekTo
跳到指定位置播放音频
void player.seekTo( position );
说明:
跳到指定位置播放音频,音频播放对象在播放或暂停状态才能跳到指定播放音频,在其它状态调用此方法无任何做用。
参数:
position: ( Number ) 必选 音频播放要跳到的位置,单位为s
返回值:
void : 无
getDuration
获取音频流的总长度
Number player.getDuration();
说明:
获取音频流的总长度,单位为秒,若长度未知则返回-1。若是还未获取到音频流信息则返回NaN,此时须要延迟获取此信息。
参数:
返回值:
Number : 音频流的总长度
getPosition
获取音频流当前播放的位置
Number player.getPosition();
说明:
获取音频流当前播放的位置(已播放的长度),单位为s。
参数:
返回值:
Number : 当前音频播放的位置,单位为s,若是音频文件未准备好则返回0。
setRoute
设置音频输出线路
void player.setRoute( route );
说明:
可在音频文件开始播放前或播放的过程当中改变音频输出线路,默认使用扬声器(plus.audio.ROUTE_SPEAKER)输出线路。
参数:
route: ( Number ) 必选 音频播放时输出线路常量
可设置audio的ROUTE_*常量值,设置后当即生效。
返回值:
void : 无
示例:
// 播放操做var p = plus.audio.createPlayer();// 切换到听筒线路
p.setRoute( plus.audio.ROUTE_EARPIECE );
p.play( function () {
alert( "Audio play success!" );}, function ( e ) {
alert( "Audio play failed: " + e.message );} );//...// 切换到扬声器线路
p.setRoute( plus.audio.ROUTE_SPEAKER );
RecordOption
JSON对象,调用麦克风设备进行录音的参数
属性:
filename: (String 类型 )保存录音文件的路径
可设置具体文件名,也可只设置路径,若是以“/”结尾则代表是路径,文件名由录音程序自动生成。 如未设置则使用默认目录生成随机文件名称,默认目录为应用%APPID%下的documents目录。
samplerate: (String 类型 )录音文件的采样率
需经过supportedSamplerates属性获取设备支持的采样率,若设置无效的值,则使用系统默认的采样率。
format: (String 类型 )录音文件的格式
需经过supportedFormats属性获取设备支持的录音格式,若设置无效的值,则使用系统默认的录音格式。
平台支持
Android - 2.2+ (支持): Android平台支持"amr"、"3gp"格式,默认为"amr"。
iOS - 4.5+ (支持): iOS平台支持"wav"、"aac"、"amr"格式,默认为"wav"。
RecordSuccessCallback
录音操做成功回调
void onSuccess( recordFile ) {
// Get record file code.}
说明:
麦克风录音操做成功的回调函数,在录音操做完成调用stop()方法时调用。
参数:
recordFile: ( String ) 必选 录音操做保存的音频文件路径
返回值:
void : 无
PlaySuccessCallback
播放音频文件操做成功回调
void onCompleted() {
// Play audio file completed code.}
说明:
麦克风录音操做成功的回调函数,在录音操做完成调用stop()方法时调用。
参数:
返回值:
void : 无
AudioErrorCallback
音频操做失败回调
void onError( error ) {
// Handle audio error}
参数:
error: ( DOMException ) 必选 音频操做的错误信息
返回值:
void : 无
Barcode模块管理条码扫描,提供常见的条码(二维码及一维码)的扫描识别功能,可调用设备的摄像头对条码图片扫描进行数据输入。经过plus.barcode可获取条码码管理对象。
常量:
QR: 条码类型常量,QR二维码,数值为0
EAN13: 条码类型常量,EAN一维条形码码标准版,数值为1
EAN8: 条码类型常量,ENA一维条形码简版,数值为2
AZTEC: 条码类型常量,Aztec二维码,数值为3
DATAMATRIX: 条码类型常量,Data Matrix二维码,数值为4
UPCA: 条码类型常量,UPC码标准版,数值为5
UPCE: 条码类型常量,UPC码缩短版,数值为6
CODABAR: 条码类型常量,Codabar码,数值为7
CODE39: 条码类型常量,Code39一维条形码,数值为8
CODE93: 条码类型常量,Code93码,数值为9
CODE128: 条码类型常量,Code128码,数值为10
ITF: 条码类型常量,ITF码,数值为11
MAXICODE: 条码类型常量,MaxiCode二维码,数值为12
PDF417: 条码类型常量,PDF 417码,数值为13
RSS14: 条码类型常量,RSS 14组合码,数值为14
RSSEXPANDED: 条码类型常量,扩展式RSS组合码,数值为15
方法:
scan: 经过图片扫描条码数据
对象:
Barcode: 条码扫描识别控件对象
BarcodeOption: JSON对象,条码识别控件扫描参数
回调方法:
BarcodeSuccessCallback: 条码识别成功的回调函数
BarcodeErrorCallback: 条码识别错误的回调函数
权限:
permissions
"Barcode": {
"description": "访问条码扫描插件"}
QR
条码类型常量,QR二维码,数值为0
plus.barcode.QR;
说明:
Number 类型
1994年由日本Denso-Wave公司发明,QR来自英文Quick Response的缩写,即快速反应的意思,源自发明者但愿QR码可以让其内容快速被解码。 目前使用最普遍的二维码。
EAN13
条码类型常量,EAN一维条形码码标准版,数值为1
plus.barcode.EAN13;
说明:
Number 类型
国际物品编码协会在全球推广应用的商品条码,是由13位数字组成。 目前使用最普遍的一维条形码。
EAN8
条码类型常量,ENA一维条形码简版,数值为2
plus.barcode.EAN8;
说明:
Number 类型
国际物品编码协会在全球推广应用的商品条码,是由8位数字组成。
AZTEC
条码类型常量,Aztec二维码,数值为3
plus.barcode.AZTEC;
说明:
Number 类型
Andrew Longacre发明于1995年,该代码是用于国际出版。最小的Aztec码符号编码13个数字或12个英文字母。最大的Aztec码符号编码3832数字或3067英文字母或1914字节的数据。
DATAMATRIX
条码类型常量,Data Matrix二维码,数值为4
plus.barcode.DATAMATRIX;
说明:
Number 类型
Data Matrix原名Data code,由美国国际资料公司(International Data Matrix, 简称IDMatrix)于1989年发明。可编码字元集包括所有的ASCII字元及扩充ASCII字元,容量可包含2235个英文数字资料、1556个8位元资料,3116个数字资料。因为Data Matrix二维条码只须要读取资料的20%便可精确辨读,所以很适合应用在条码容易受损的场所。
UPCA
条码类型常量,UPC码标准版,数值为5
plus.barcode.UPCA;
说明:
Number 类型
UPC码是美国统一代码委员会制定的一种商品用条码,主要用于美国和加拿大地区,常在美国进口的商品上能够看到。UPC码标准版由12位数字构成,故其字码集为数字0~9。
UPCE
条码类型常量,UPC码缩短版,数值为6
plus.barcode.UPCE;
说明:
Number 类型
UPC码是美国统一代码委员会制定的一种商品用条码,主要用于美国和加拿大地区,常在美国进口的商品上能够看到。UPC码缩短版由8位数字构成,故其字码集为数字0~9。
CODABAR
条码类型常量,Codabar码,数值为7
plus.barcode.CODABAR;
说明:
Number 类型
Codabar码最初是为零售价格标签系统而研制开发的。1975年,National Retail Merchants Association(NRMA)选择了其它符号类型做为标准后,Codabar开始在多个方面用于非零售应用领域,如图书馆、货运和医药业。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持Codabar码的识别
CODE39
条码类型常量,Code39一维条形码,数值为8
plus.barcode.CODE39;
说明:
Number 类型
Code 39码是Intermec公司于1975年推出的一维条码, 39码是一种可供使用者双向扫瞄的分散式条码,也就是说相临两资料码之间,39码必须包含一个不具任何意义的空白(或细白,其逻辑值为0),且 39码具备支援文数字的能力,编码规则简单、误码率低、所能表示字符个数多等特色,39码在各个领域有着极为普遍的应用。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持Code39码的识别
CODE93
条码类型常量,Code93码,数值为9
plus.barcode.CODE93;
说明:
Number 类型
Code 93码的条码符号是由Intermec公司于1982年设计的 提供更高的密度和数据安全加强code39 。它是一个字母,长度可变符号。代码93主要用于由加拿大邮政编码补充提供的资料。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持Code93码的识别
CODE128
条码类型常量,Code128码,数值为10
plus.barcode.CODE128;
说明:
Number 类型
CODE128码是1981年引入的一种高密度条码,CODE128 码可表示从 ASCII 0 到ASCII 127 共128个字符,故称128码。CODE128码是普遍应用在企业内部管理、生产流程、物流控制系统方面的条码码制,因为其优良的特性在管理信息系统的设计中被普遍使用。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持Code128码的识别
ITF
条码类型常量,ITF码,数值为11
plus.barcode.ITF;
说明:
Number 类型
ITF条码,又称交叉二五条码,由14位数字字符表明组成。主要用于运输包装,是印刷条件较差,不容许印刷EAN-13和UPC-A条码时应选用的一种条码。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持ITF码的识别
MAXICODE
条码类型常量,MaxiCode二维码,数值为12
plus.barcode.MAXICODE;
说明:
Number 类型
1996年时,美国自动辨识协会(AIMUSA)制定统一的符号规格,称为Maxicode二维条码,也有人称USS-Maxicode二维条码(Uniform Symbology Specification-Maxicode)。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持MaxiCode码的识别
PDF417
条码类型常量,PDF 417码,数值为13
plus.barcode.PDF417;
说明:
Number 类型
PDF417条码是由美国SYMBOL公司发明的,PDF(Portable Data File)意思是“便携数据文件”。组成条码的每个条码字符由4个条和4个空共17个模块构成,故称为PDF417条码。PDF417条码最大的优点在于其庞大的数据容量和极强的纠错能力。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持PDF 417码的识别
RSS14
条码类型常量,RSS 14组合码,数值为14
plus.barcode.RSS14;
说明:
Number 类型
RSS条码是有国际物品编码协会EAN和美国统一代码委员会UCC开发的RSS(Reduced Space Symbology)条码符号。它是一种一维码和二维码的组合码。和其它线性条码相比,RSS系列码制具备更高的密度,由于它能够表示更多的字符。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持RSS14码的识别
RSSEXPANDED
条码类型常量,扩展式RSS组合码,数值为15
plus.barcode.RSSEXPANDED;
说明:
Number 类型
RSS条码是有国际物品编码协会EAN和美国统一代码委员会UCC开发的RSS(Reduced Space Symbology)条码符号。它是一种一维码和二维码的组合码。和其它线性条码相比,RSS系列码制具备更高的密度,由于它能够表示更多的字符。扩展式RSS码是长度能够变化的线性码制,可以对74个数字字符或41个字母字符的AI单元数据传数据进行编码。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (不支持): 不支持扩展式RSS码的识别
scan
经过图片扫描条码数据
void plus.barcode.scan( path, successCB, errorCB, filters );
说明:
直接经过图片扫描条码数据,成功扫描到条码数据后经过successCallback回调返回,失败则经过errorCallback回调返回。
参数:
path: ( DOMString ) 必选 扫描的图片的地址
图片的地址必须是本地文件地址,如URLType类型(如以"_www"、"_doc"、"_documents"、"_downloads"开头的相对URL路径)或者系统绝对路径。
successCB: ( BarcodeSuccessCallback ) 必选 扫描条码码图片成功的回调函数,返回条码数据
errorCB: ( BarcodeErrorCallback ) 可选 扫描条码图片失败的回调函数,返回错误信息
filters: ( Array ) 可选 要识别的条码类型过滤器,为条码类型常量数组
条码识别引擎可支持多种二维码及一维码类型,默认状况支持QR、EAN1三、EAN8三种类型。 可经过此参数设置须要支持的更多条码类型(注意:设置支持的条码类型越多,扫描识别效率将会下降)。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Barcode Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
var e = document.getElementById("scan");
e.removeAttribute( "disabled" );}// 从图片中扫描 function scanImg() {
plus.barcode.scan( '_www/barcode.png', function (type,result) {
alert( "Scan success:("+type+")"+result );
}, function (error) {
alert( error.message );
} );}
</script>
<style type="text/css">*{
-webkit-user-select: none;}
html,body{
margin: 0px;
padding: 0px;
height: 100%;}
</style>
</head>
<body >
<input id="scan" type='button' disabled="disabled" onclick='scanImg()' value='扫描图片'></input>
</body></html>
Barcode
条码扫描识别控件对象
interface plus.barcode.Barcode {
// Methods
function void start( options );
function void cancel();
function void setFlash( open );
// Events
function void onmarked();
function void onerror();}
说明:
Barcode对象表示条码识别控件对象,在窗口中显示条码识别控件,使用此对象可自定义条码识别界面。
构造:
Barcode.constructor(id,filters): 建立Barcode对象
方法:
start: 开始条码识别
cancel: 结束条码识别
setFlash: 是否开启闪光灯
事件:
onmarked: 条码识别成功事件
onerror: 条码识别错误事件
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Barcode Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
var e = document.getElementById("scan");
e.removeAttribute( "disabled" );}var scan = null;function onmarked( type, result ) {
var text = '未知: ';
switch(type){
case plus.barcode.QR:
text = 'QR: ';
break;
case plus.barcode.EAN13:
text = 'EAN13: ';
break;
case plus.barcode.EAN8:
text = 'EAN8: ';
break;
}
alert( text+result );}function startRecognize() {
scan = new plus.barcode.Barcode('bcid');
scan.onmarked = onmarked; }function startScan() {
scan.start();}function cancelScan() {
scan.cancel();}function setFlash() {
scan.setFlash();}
</script>
<style type="text/css">*{
-webkit-user-select: none;}
html,body{
margin: 0px;
padding: 0px;
height: 100%;}#bcid {
background:#0F0;
height:480px;
width:360px;}
</style>
</head>
<body >
<input type='button' onclick='startRecognize()' value='建立扫描控件' />
<input type='button' onclick='startScan()' value='开始扫描' />
<input type='button' onclick='cancelScan()' value='取消扫描' />
<input type='button' onclick='setFlash()' value='开启闪光灯' />
<div id= "bcid"></div>
<input type='text' id='text'/>
</body></html>
Barcode.constructor(id,filters)
建立Barcode对象
var bc = new plus.barcode.Barcode( id, filters );
说明:
建立Barcode对象,并指定Barcode对象的在界面中关联div或object标签的id号。
参数:
id: ( DOMString ) 必选 条码识别控件在Webview窗口的DOM节点的id值
为了定义条码识别控件在Webview窗口中的位置,须要指定控件定位标签(div或objecct)的id号,系统将根据此id号来肯定条码识别控件的大小及位置。
filters: ( Array[Number] ) 可选 要识别的条码类型过滤器,为条码类型常量数组
条码识别引擎可支持多种二维码及一维码类型,默认状况支持QR、EAN1三、EAN8三种类型。 可经过此参数设置须要支持的更多条码类型(注意:设置支持的条码类型越多,扫描识别效率将会下降)。
返回值:
Barcode :
示例:
// 建立支持默认条码类型的识别控件var bc = new plus.barcode.Barcode( "barcode" );// 建立支持var filter = [plus.barcode.QR,plus.barcode.AZTEC];var bc2 = new plus.barcode.Barcode( "barcode", filter );
start
开始条码识别
void bc.start( options );
说明:
开始调用系统摄像头获取图片数据进行扫描识别,当识别出条码数据时经过onmarked回调函数返回。
参数:
optons: ( BarcodeOption ) 可选 条码识别的参数
经过此参数可设置是否获取扫描成功的条码截图数据等。
返回值:
void : 无
cancel
结束条码识别
void bc.cancel();
说明:
结束对摄像头获取图片数据进行条码识别操做。
参数:
无
返回值:
void : 无
setFlash
是否开启闪光灯
void obj.setFlash( open );
说明:
设置条码扫描控件在扫描时是否开启摄像头的闪光灯,默认值为不开启闪光灯。
参数:
open: ( Boolean ) 必选 是否开启闪光灯
可取值true或false,true表示打开闪光灯,false表示关闭闪光灯。
返回值:
void : 无
onmarked
条码识别成功事件
void obj.onmarked = function ( type, code, file ) {
// loaded code }
说明:
扫描控件识别到有效的条码数据时触发的成功事件,并返回扫描结果。
onerror
条码识别错误事件
void obj.onerror = function ( error ) {
// loaded code }
说明:
描控件识别过程当中发生错误时触发的失败事件,并返回错误信息。
BarcodeOption
JSON对象,条码识别控件扫描参数
interface plus.barcode.BarcodeOption {
attribute Boolean conserve;
attribute DOMString filename;}
说明:
设置条码识别控件扫描条码的参数,如是否保存扫描成功时的截图等。
属性:
conserve: (Boolean 类型 )是否保存成功扫描到的条码数据时的截图
若是设置为true则在成功扫描到条码数据时将图片保存,并经过onmarked回调函数的file参数返回保存文件的路径。默认值为false,不保存图片。
filename: (String 类型 )保存成功扫描到的条码数据时的图片路径
可经过此参数设置保存截图的路径或名称,若是设置图片文件名称则必须指定文件的后缀名(必须是.png),不然认为是指定目录,文件名称则自动生成。
BarcodeSuccessCallback
条码识别成功的回调函数
void BarcodeSuccessCallback ( type, code, file ) {
// Barcode success code}
说明:
当获取条码识别成功时的回调函数,用于返回识别成功的条码数据。
参数:
type: ( Number ) 必选 识别到的条码类型
Number类型的值,与Barcode对象定义的条码类型常量一致。
code: ( DOMString ) 必选 识别到的条码数据
从条码图片中扫描出的数据内容,字符串采用UTF8编码格式。
file: ( DOMString ) 可选 识别到的条码图片文件路径
识别到的条码数据图片,为png格式文件,为设置为不保存图片,则返回undefined。
返回值:
void : 无
BarcodeErrorCallback
条码识别错误的回调函数
void BarcodeErrorCallback( error ) {
// Handle error}
参数:
error: ( DOMException ) 必选 条码识别的错误信息
返回值:
void : 无
Camera模块管理设备的摄像头,可用于拍照、摄像操做,经过plus.camera获取摄像头管理对象。
方法:
getCamera: 获取摄像头管理对象
对象:
Camera: 摄像头对象
CameraOption: JSON对象,调用摄像头的参数
PopPosition: JSON对象,弹出拍照或摄像界面指示位置
回调方法:
CameraSuccessCallback: 调用摄像头操做成功回调
CameraErrorCallback: 摄像头操做失败回调
权限:
permissions
"Camera": {
"description": "访问摄像头设备"}
getCamera
获取摄像头管理对象
Camera plus.camera.getCamera( index );
说明:
获取须要操做的摄像头对象,若是要进行拍照或摄像操做,需先经过此方法获取摄像头对象。
参数:
index: ( Number ) 可选 要获取摄像头的索引值
指定要获取摄像头的索引值,1表示主摄像头,2表示辅摄像头。若是没有设置则使用系统默认主摄像头。
返回值:
Camera : 摄像头对象
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Camera Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
// 获取设备默认的摄像头对象
var cmr = plus.camera.getCamera();
// ...... }
</script>
</head>
<body>
</body></html>
Camera
摄像头对象
interface Camera {
readonly attribute String[] supportedImageResolutions;
readonly attribute String[] supportedVideoResolutions;
readonly attribute String[] supportedImageFormats;
readonly attribute String[] supportedVideoFormats;
function void captureImage( successCB, errorCB, option );
function void startVideoCapture( successCB, errorCB, option );
function void stopVideoCapture();}
属性:
supportedImageResolutions: 字符串数组,摄像头支持的拍照分辨率
supportedVideoResolutions: 字符串数组,摄像头支持的摄像分辨率
supportedImageFormats: 字符串数组,摄像头支持的拍照文件格式
supportedVideoFormats: 字符串数组,摄像头支持的摄像文件格式
方法:
captureImage: 进行拍照操做
startVideoCapture: 调用摄像头进行摄像操做
stopVideoCapture: 结束摄像操做
supportedImageResolutions
字符串数组,摄像头支持的拍照分辨率
说明:
Array 类型 只读属性
属性类型为String[],若不支持此属性则返回空数组对象。摄像头支持的拍照图片分辨率字符串形式“WIDTH*Height”,如“400*800”;若是支持任意自定义分辨率则“*”。
平台支持:
Android (支持)
iOS (不支持): 返回空数组对象
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Camera Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
var cmr = plus.camera.getCamera();
alert( "Camera supperted image resolutions: " + cmr.supportedImageResolutions );}
</script>
</head>
<body>
</body></html>
supportedVideoResolutions
字符串数组,摄像头支持的摄像分辨率
说明:
Array 类型 只读属性
属性类型为String[],若不支持此属性则返回空数组对象。摄像头支持的视频分辨率字符串形式为“WIDTH*Height”,如“400*800”;若是支持任意自定义分辨率则“*”。
平台支持:
Android (支持)
iOS (不支持): 返回空数组对象
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Camera Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
var cmr = plus.camera.getCamera();
alert( "Camera supperted image resolutions: " + cmr.supportedImageResolutions );}
</script>
</head>
<body>
</body></html>
supportedImageFormats
字符串数组,摄像头支持的拍照文件格式
说明:
Array 类型 只读属性
属性类型为String[],若不支持此属性则返回空数组对象。摄像头支持的图片文件格式字符串形式为文件格式后缀名,如“jpg”、“png”、“bmp”。
平台支持:
Android (支持)
iOS (不支持): 返回空数组对象
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Camera Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
var cmr = plus.camera.getCamera();
alert( "Camera supperted image formats: " + cmr.supportedImageFormats );}
</script>
</head>
<body>
</body></html>
supportedVideoFormats
字符串数组,摄像头支持的摄像文件格式
说明:
Array 类型 只读属性
属性类型为String[],若不支持此属性则返回空数组对象。摄像头支持的视频文件格式字符串形式为文件格式后缀名,如“3gp”、“mp4”、“avi”。
平台支持:
Android (支持)
iOS (不支持): 返回空数组对象
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Camera Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
var cmr = plus.camera.getCamera();
alert( "Camera supperted video formats: " + cmr.supportedVideoFormats );}
</script>
</head>
<body>
</body></html>
captureImage
进行拍照操做
cmr.captureImage( successCB, errorCB, option );
说明:
摄像头资源为独占资源,若是其它程序或页面已经占用摄像头,再次操做则失败。 拍照操做成功将经过successCB返回拍照获取的图片路径。 可经过option设置摄像头的各类属性参数。
参数:
successCB: ( CameraSuccessCallback ) 必选 拍照操做成功的回调函数
errorCB: ( CameraErrorCallback ) 可选 拍照操做失败的回调函数
option: ( CameraOption ) 必选 摄像头拍照参数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Camera Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
var cmr = plus.camera.getCamera();
var res = cmr.supportedImageResolutions[0];
var fmt = cmr.supportedImageFormats[0];
cmr.captureImage( function( path ){
alert( "Capture image success: " + path );
},
function( error ) {
alert( "Capture image failed: " + error.message );
},
{resolution:res,
format:fmt
}
);}
</script>
</head>
<body>
</body></html>
startVideoCapture
调用摄像头进行摄像操做
cmr.startVideoCapture( successCB, errorCB, option );
说明:
摄像头资源为独占资源,若是其它程序或页面已经占用摄像头,再次操做则失败。 拍照操做成功将经过successCB返回摄像获取的视频文件路径。 可经过option设置摄像头的各类属性参数。
参数:
successCB: ( CameraSuccessCallback ) 必选 摄像操做成功的回调函数
errorCB: ( CameraErrorCallback ) 可选 拍摄像操做失败的回调函数
option: ( CameraOption ) 必选 摄像头拍照参数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Camera Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
var cmr = plus.camera.getCamera();
var res = cmr.supportedVideoResolutions[0];
var fmt = cmr.supportedVideoFormats[0];
cmr.startVideoCapture( function( path ){
alert( "Capture video success: " + path );
},
function( error ) {
alert( "Capture video failed: " + error.message );
},
{resolution:res,
format:fmt
}
);}
</script>
</head>
<body>
</body></html>
stopVideoCapture
结束摄像操做
cmr.stopVideoCapture();
说明:
开始调用摄像头进行摄像操做后,可在后台结束摄像操做,与用户在界面结束操做效果一致。 摄像操做成功将经过startVideoCapture函数中的successCB返回拍照获取的图片路径。 用户若是没有进行摄像操做关闭摄像头页面则调用失败回调函数。
参数:
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Camera Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
var cmr = plus.camera.getCamera();
var res = cmr.supportedVideoResolutions[0];
var fmt = cmr.supportedVideoFormats[0];
cmr.startVideoCapture( function( path ){
alert( "Capture video success: " + path );
},
function( error ) {
alert( "Capture video failed: " + error.message );
},
{resolution:res,
format:fmt
}
);
// 拍摄10s后自动完成
setTimeout( function () {
cmr.stopVideoCapture();
}, 10000 );}
</script>
</head>
<body>
</body></html>
CameraOption
JSON对象,调用摄像头的参数
interface CameraOption {
attribute String filename;
attribute String format;
attribute String index;
attribute PopPosition popover;}
属性:
filename: (String 类型 )拍照或摄像文件保存的路径
可设置具体文件名(如"_doc/camera/a.jpg");也可只设置路径,以"/"结尾则代表是路径(如"_doc/camera/")。如未设置文件名称或设置的文件名冲突则文件名由程序程序自动生成。
format: (String 类型 )拍照或摄像的文件格式
可经过Camera对象的supportedImageFormats或supportedVideoFormats获取,若是设置的参数无效则使用系统默认值。
index: (String 类型 )拍照或摄像默认使用的摄像头
拍照或摄像界面默认使用的摄像头编号,1表示主摄像头,2表示辅摄像头。
平台支持
Android - 2.2+ (不支持): 暂不支持设置摄像头,忽略此属性值
iOS - 4.3+ (支持)
popover: (PopPosition 类型 )拍照或摄像界面弹出指示区域
对于大屏幕设备如iPad,拍照或摄像界面为弹出窗口,此时可经过此参数设置弹出窗口位置,其为JSON对象,格式如{top:"10px",left:"10px",width:"200px",height:"200px"},默认弹出位置为屏幕居中。
平台支持
Android - ALL (不支持): 暂不支持设置摄像头,忽略此属性值
iOS - 5.0+ (支持): 仅iPad设备支持此属性,iPhone/iTouch上忽略此属性值
PopPosition
JSON对象,弹出拍照或摄像界面指示位置
属性:
top: (String 类型 )指示区域距离容器顶部的距离
弹出拍照或摄像窗口指示区域距离容器顶部的距离,支持像素值(如"100px")和百分比(如"50%")。
left: (String 类型 )指示区域距离容器左侧的距离
弹出拍照或摄像窗口指示区域距离容器左侧的距离,支持像素值(如"100px")和百分比(如"50%")。
width: (String 类型 )指示区域的宽度
弹出拍照或摄像窗口指示区域的宽度,支持像素值(如"100px")和百分比(如"50%")。
height: (String 类型 )指示区域的高度
弹出拍照或摄像窗口指示区域的高度,支持像素值(如"100px")和百分比(如"50%")。
CameraSuccessCallback
调用摄像头操做成功回调
void onSuccess( capturedFile ) {
// Caputre image/video file code.}
说明:
调用摄像头操做成功的回调函数,在拍照或摄像操做成功时调用,用于返回图片或视频文件的路径。
参数:
capturedFile: ( String ) 必选 拍照或摄像操做保存的文件路径
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
CameraErrorCallback
摄像头操做失败回调
void onError( error ) {
// Handle camera error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息}
参数:
error: ( Exception ) 必选 摄像头操做的错误信息
可经过error.code(Number类型)获取错误编码; 可经过error.message(String类型)获取错误描述信息。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
Contacts模块管理系统通信录,用于可对系统通信录进行增、删、改、查等操做。经过plus.contacts获取系统通信录管理对象。
常量:
ADDRESSBOOK_PHONE: 手机通信录
ADDRESSBOOK_SIM: SIM卡通信录
方法:
getAddressBook: 获取通信录对象
对象:
AddressBook: 通信录对象
Contact: 联系人对象
ContactField: JSON对象,联系人域数据对象
ContactName: JSON对象,联系人名称对象
ContactAddress: JSON对象,联系人地址对象
ContactOrganization: JSON对象,联系人所属组织信息
ContactFindOption: JSON对象,查找联系人参数
ContactFindFilter: JSON对象,联系人查找过滤器
回调方法:
AddressBookSuccessCallback: 获取通信录操做成功回调函数
FindSuccessCallback: 查找联系人操做成功回调函数
ContactsSuccessCallback: 联系人操做成功回调函数
ContactsErrorCallback: 联系人操做失败回调
权限:
permissions
"Contacts": {
"description": "访问系统联系人"}
ADDRESSBOOK_PHONE
手机通信录
plus.contacts.ADDRESSBOOK_PHONE;
说明:
Number 类型
通信录类型常量,数值类型,固定值为0,用于获取系统的联系人信息。
ADDRESSBOOK_SIM
SIM卡通信录
plus.contacts.ADDRESSBOOK_SIM;
说明:
Number 类型
通信录类型常量,数值类型,固定值为1,用于获取SIM卡上的联系人信息。
平台支持
Android - 2.2+ (不支持): 暂未实现SIM卡联系人的访问
iOS - 4.3+ (不支持): 不支持SIM卡联系人的访问
getAddressBook
获取通信录对象
void plus.contacts.getAddressBook( type, succesCB, errorCB );
说明:
根据指定通信录类型获取通信录对象,获取通信录对象后可对其进行增、删、改操做。
参数:
type: ( Number ) 必选 要获取的通信录类型
可取通信录类型常量,可获取手机通信录或SIM卡通信录。
successCB: ( AddressBookSuccessCallback ) 必选 获取通信录对象成功回调
errorCB: ( ContactsErrorCallback ) 可选 获取通信录对象失败回调
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Contacts Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) {
// 可经过addressbook进行通信录操做
alert( "Get address book success!" );
}, function ( e ) {
alert( "Get address book failed: " + e.message );
} );}, false );
</script>
</head>
<body>
</body></html>
AddressBook
通信录对象
interface AddressBook {
function Contact create();
function void find( contactFields, successCB, errorCB, findOptions );}
说明:
通信录管理对象,可对系统通信录进行联系人的增、删、改、查操做。
方法:
create: 建立联系人
find: 在通信录中查找联系人
create
建立联系人
Contact addressbook.create();
说明:
建立一个系统联系人,并返回联系人对象,可对联系人对象进行操做设置联系人信息,如名称、地址、电话等。
参数:
无
返回值:
Contact : 联系人对象
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Contacts Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,如今能够正常调用扩展API
plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) {
// 向通信录中添加联系人
var contact = addressbook.create();
contact.name = {givenName:"王安"};
contact.phoneNumbers = [{type:"手机",value:"88888888",preferred:true}];
contact.save();
}, function ( e ) {
alert( "Get address book failed: " + e.message );
} );}, false );
</script>
</head>
<body>
</body></html>
find
在通信录中查找联系人
void addressbook.find( contactFields, successCB, errorCB, findOptions );
说明:
在通信录中安装指定的规则查找联系人,contactFields可设定查找返回的联系人中包含的字段值,查找联系人成功时经过successCB回调返回,查找联系人失败则经过errorCB回调返回。
参数:
contactFields: ( String[] ) 必选 查找返回联系人中须要包含的信息
可取Contact对象的属性名称,若指定为null或""或空数组则包含全部联系人信息。可经过“.”来分割子项,如“name.familyName”指定获取联系人名称中的姓;对于ContactField类型的值则可指定类型值,如“phoneNumbers.mobile”指定获取联系人的手机号码。
successCB: ( FindSuccessCallback ) 必选 查找联系人操做成功回调
errorCB: ( ContactsErrorCallback ) 可选 查找联系人操做失败回调
findOptions: ( ContactFindOption ) 可选 查找联系人的参数
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Contacts Example</title>
<script type="text/javascript">// 监听plusready事件
document.addEventListener( "plusready", function(){}, false );function find(){
plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function (addressbook) {
addressbook.find(["displayName","phoneNumbers"],function(contacts){
alert(contacts.length);
}, function () {
alert("error");
},{multiple:true});
},function(e){
alert("Get address book failed: " + e.message);
});}
</script>
</head>
<body>
<button onclick="find()">Find</button>
</body></html>
Contact
联系人对象
interface Contact {
readonly attribute String id;
attribute String displayName;
attribute ContactName name;
attribute String nickname;
attribute ContackField[] phoneNumbers;
attribute ContactField[] emails;
attribute ContactAddress[] addresses;
attribute ContactField[] ims;
attribute ContactOriganization[] organizations;
attribute Date birthday;
attribute String note;
attribute ContactField[] photos;
attribute ContactField[] categories;
attribute ContactField[] urls;
function Contact clone();
function void remove( successCB, errorCB );
function void save( successCB, errorCB );}
说明:
联系人对象,包括联系人的各类信息,如名称、电话号码、地址等。也包括新增、删除联系人的操做方法。
属性:
id: 联系人的id
displayName: 联系人显示的名字
name: 联系人的名称
nickname: 联系人的昵称
phoneNumbers: 数组,联系人的电话
emails: 数组,联系人的邮箱
addresses: 数组,联系人的地址
ims: 数组,联系人的即时通信地址
organizations: 数组,联系人所属组织信息
birthday: 联系人的生日
note: 联系人的备注
photos: 数组,联系人的头像
categories: 数组,联系人的组名
urls: 数组,联系人的网址
方法:
clone: 克隆联系人
remove: 删除联系人
save: 保存联系人
id
联系人的id
说明:
String 类型 只读属性 可选属性
联系人id由系统分配维护,从系统获取联系人时自动赋值,再次查询时可以使用此id值进行检索。 注意:此值为只读属性,改写此值可能会致使没法预期的错误。
displayName
联系人显示的名字
说明:
String 类型 可选属性
联系人显示的名字一般由其姓和名组合而成。
平台支持:
Android - 2.2+ (支持): 若是name(ContactName)的givenName未设置,则会保存到givenName值中。
iOS - 5.1+ (支持): 此属性为只读属性,修改此属性后没法保存,必须经过修改name(ContactName)的familyName、givenName、middleName值后保存。
name
联系人的名称
说明:
ContactName 类型
nickname
联系人的昵称
说明:
String 类型 可选属性
phoneNumbers
数组,联系人的电话
说明:
ContactField 类型 可选属性
若是联系人中未保存电话信息,则返回空数组。
emails
数组,联系人的邮箱
说明:
ContactField 类型 可选属性
若是联系人中未保存邮箱信息,则返回空数组。
addresses
数组,联系人的地址
说明:
ContactAddress 类型 可选属性
若是联系人中未保存地址信息,则返回空数组。
ims
数组,联系人的即时通信地址
说明:
ContactField 类型 可选属性
若是联系人中未保存即时通信地址信息,则返回空数组。
organizations
数组,联系人所属组织信息
说明:
ContactOrganization 类型 可选属性
若是联系人中未保存所属组织信息,则返回空数组。
birthday
联系人的生日
说明:
Date 类型 可选属性
note
联系人的备注
说明:
String 类型 可选属性
photos
数组,联系人的头像
说明:
ContactField 类型 可选属性
其值为头像图片url地址或图片数据: url地址:仅支持本地图片地址,能够是绝对路径或相对路径,如“_doc/a.png”; 图片数据:必须符合Data URI scheme(RFC2397)格式的数据,如“image/png;base64,XXXX”,其中XXXX为base64编码的图片数据。在获取联系人时默认返回此类型的数据。
categories
数组,联系人的组名
说明:
ContactOrganization 类型 可选属性
若是联系人中未保存组名信息,则返回空数组。
urls
数组,联系人的网址
说明:
ContactOrganization 类型 可选属性
若是联系人中未保存网址信息,则返回空数组。
clone
克隆联系人
Contact contact.clone();
说明:
克隆联系人,建立出一个新的联系人对象。
参数:
返回值:
Contact : 克隆出的Contact对象
示例:
var newcnt = contact.clone();
remove
删除联系人
void contact.remove( successCB, errorCB );
参数:
successCB: ( ContactsSuccessCallback ) 必选 删除联系人操做成功回调
errorCB: ( ContactsErrorCallback ) 可选 删除联系人操做失败回调
返回值:
void : 无
示例:
plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) {
// 可经过addressbook进行通信录操做
var contact = addressbook.find( null, function ( contacts ) {
if ( contacts.length> 0 ) {
var dc = contacts[0];
dc.remove( function () {
alert( "Remove "+dc.displayName+" success!" );
}
}, function ( e ) {
alert( "Find contact error: " e.message );
}, {filter:[{logic:"or",field:"phoneNumbers",value:"88888888"}],multi:false} );} );
save
保存联系人
void contact.save( successCB, errorCB );
说明:
将联系人数据保存到通信录中,操做成功将经过successCB回调函数返回保存结果,操做失败将经过经过errorCB回调函数返回错误信息。
参数:
successCB: ( ContactsSuccessCallback ) 必选 添加联系人操做成功回调
errorCB: ( ContactsErrorCallback ) 可选 添加联系人操做失败回调
返回值:
void : 无
示例:
plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) {
// 可经过addressbook进行通信录操做
var contact = addressbook.create();
contact.name = {givenName:"王安"};
contact.phoneNumbers = [{type:"手机",value:"88888888",preferred:true}];
contact.save( function () {
alert( "保存联系人成功" );
}, function ( e ) {
alert( "保存联系人失败:" + e.message );
} );
}, function ( e ) {
alert( "Get address book failed: " + e.message );} );
ContactField
JSON对象,联系人域数据对象
interface ContactField {
attribute String type;
attribute String value;
attribute Boolean preferred;}
说明:
联系人域数据对象,保存联系人特定域信息。
属性:
type: (String 类型 )联系人域类型,如电话号码中的“mobile”、“home”、“company”
value: (String 类型 )联系人域值
preferred: (Boolean 类型 )是否为首选项
ContactName
JSON对象,联系人名称对象
interface ContactName {
attribute String formatted;
attribute String familyName;
attribute String givenName;
attribute String middleName;
attribute String honorificPrefix;
attribute String honorificSuffix;}
说明:
联系人名称对象,保存联系人名称信息,如姓、名等。
属性:
formatted: (String 类型 )联系人的完整名称,由其它字段组合生成
familyName: (String 类型 )联系人的姓
givenName: (String 类型 )联系人的名
middleName: (String 类型 )联系人的中间名
honorificPrefix: (String 类型 )联系人的前缀(如Mr.或Dr.)
honorificSuffix: (String 类型 )联系人的后缀
ContactAddress
JSON对象,联系人地址对象
interface ContactAddress {
attribute String type;
attribute String formatted;
attribute String streetAddress;
attribute String locality;
attribute String region;
attribute String country;
attribute String postalCode;
attribute Boolean preferred;}
说明:
联系人地址对象,保存联系人地址信息,如国家、省份、城市等。
属性:
type: (String 类型 )联系人地址类型,如“home”表示家庭地址、“company”表示单位地址
formatted: (String 类型 )完整地址,由其它字段组合而成
streetAddress: (String 类型 )完整的街道地址
locality: (String 类型 )城市或地区
region: (String 类型 )省或地区
country: (String 类型 )国家
postalCode: (String 类型 )邮政编码
preferred: (Boolean 类型 )是否为首选项
ContactOrganization
JSON对象,联系人所属组织信息
interface ContactOrganization {
attribute String type;
attribute String name;
attribute String department;
attribute String title;
attribute Boolean preferred;}
属性:
type: (String 类型 )联系人所属组织类型,如"company"
name: (String 类型 ) 联系人所属组织名称
department: (String 类型 )联系人所属组织部门
title: (String 类型 )联系人在组织中的职位
preferred: (Boolean 类型 )是否为首选项
ContactFindOption
JSON对象,查找联系人参数
interface ContactFindOption {
attribute ContactFindFilte[] filter;
attribute Boolean multiple;}
属性:
filter: (ContactFindFilter 类型 )数组,查找时的过滤器
可设置为空,表示不过滤。
multiple: (Boolean 类型 )是否查找多个联系人,默认值为true
ContactFindFilter
JSON对象,联系人查找过滤器
interface ContactFindFilter {
attribute String logic;
attribute String field;
attribute String value;}
属性:
logic: (String 类型 )区配的逻辑
可取“and”、“or”、“not”,默认值为“and”。
field: (String 类型 )区配的联系人域,可取联系人的属性名称
value: (String 类型 )区配的联系人值,可以使用区配符号“?”和“*”
示例:
// 区配全部包括姓或名中包括“王”的联系人[{logic:"or",field:"displayNam",value:"*王*"},{logic:"or",field:"nickname",value:"*王*"}]
AddressBookSuccessCallback
获取通信录操做成功回调函数
void onSuccess( addressbook ){
// Code AddressBook here}
参数:
addressbook: ( AddressBook ) 必选 获取到的通信录对象
返回值:
void : 无
FindSuccessCallback
查找联系人操做成功回调函数
void onSuccess( contacts ){
// Find contact success.}
参数:
contacts: ( Contact ) 必选 数组,查找到的联系人对象
返回值:
void : 无
ContactsSuccessCallback
联系人操做成功回调函数
void onSuccess(){
// Operate success}
参数:
返回值:
void : 无
ContactsErrorCallback
联系人操做失败回调
void onError( error ){
// Handle the error}
参数:
error: ( DOMException ) 必选 联系人操做的错误信息
返回值:
void : 无
Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。经过plus.device获取设备信息管理对象。
属性:
imei: 设备的国际移动设备身份码
imsi: 设备的国际移动用户识别码
model: 设备的型号
vendor: 设备的生产厂商
uuid: 设备的惟一标识
方法:
dial: 拨打电话
beep: 发出蜂鸣声
vibrate: 设备振动
setWakelock: 设置应用是否保持唤醒(屏幕常亮)状态
isWakelock: 获取程序是否一直保持唤醒(屏幕常亮)状态
setVolume: 设置设备的系统音量
getVolume: 获取设备的系统音量
对象:
screen: Screen模块管理设备屏幕信息
display: Display模块管理应用可以使用的显示区域信息
networkinfo: Device模块用于获取网络信息
os: OS模块管理操做系统信息
权限:
permissions
"Device": {
"description": "访问设备信息"}
imei
设备的国际移动设备身份码
plus.device.imei;
说明:
String 类型 只读属性
调用此属性获取设备的国际移动设备身份码。 若是设备不支持则返回空字符串。
平台支持:
Android - 2.2+ (支持)
iOS - 4.5+ (不支持): iOS设备不支持获取imei值,返回空字符串。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "IMEI: " + plus.device.imei );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取设备的国际移动设备身份码
</body></html>
imsi
设备的国际移动用户识别码
plus.device.imsi;
说明:
Array 类型 只读属性
字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 若是设备支持多卡模式则返回全部SIM身份码。 若是设备不支持或没有插入SIM卡则返回空数组。
平台支持:
Android - 2.2+ (支持): 若是设备没有插入SIM卡,则返回空数组。
iOS - 4.5+ (不支持): iOS设备不支持获取SIM卡信息,返回空数组。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "IMSI: " + plus.device.imsi );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取设备的国际移动用户识别码
</body></html>
model
设备的型号
plus.device.model;
说明:
String 类型 只读属性
调用此属性获取设备的型号信息。 若是设备不支持则返回空字符串。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Device: " + plus.device.model );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取设备的型号
</body></html>
vendor
设备的生产厂商
plus.device.vendor;
说明:
String 类型 只读属性
调用此属性获取设备的生产厂商信息。 若是设备不支持则返回空字符串。
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Vendor: " + plus.device.vendor );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取设备的生产厂商
</body></html>
uuid
设备的惟一标识
plus.device.uuid;
说明:
String 类型 只读属性
调用此属性获取设备的惟一标识号。
平台支持:
Android - 2.2+ (支持): 与设备的imei号一致。注意:若是没法获取设备imei则使用设备wifi的mac地址,若是没法获取设备mac地址则随机生成设备标识号,确保不一样App在同一台设备上获取的值一致。
iOS - 4.5+ (支持): 根据包名随机生成的设备标识号。注意:在设备重置后会从新生成。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "uuid: "+plus.device.uuid );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取设备的惟一标识号
</body></html>
dial
拨打电话
void plus.device.dial( number, confirm );
说明:
调用系统程序拨打电话。
参数:
number: ( String ) 必选 要拨打的电话号码
confirm: ( Boolean ) 可选 是否须要用户确认后开始拨打电话
设置为true表示打开系统拨打电话界面,需用户点击拨号按钮后才开始拨打电话,false则无需确认直接拨打电话,默认值为true。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 5.1+ (支持): 忽略confirm参数,调用直接拨打电话。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}function dialTest() {
plus.device.dial( "10086", false );}
</script>
</head>
<body>
拨打电话<br/>
<button onclick="dialTest()">Dial</button>
</body></html>
beep
发出蜂鸣声
void plus.device.beep( times );
说明:
调用此方法使得设备发出蜂鸣声。
参数:
times: ( Number ) 可选 蜂鸣声重复的次数,默认发出一次蜂鸣声
返回值:
void : 无
平台支持:
Android - 2.2+ (支持): 播放系统设置中指定的默认通知铃声
iOS - 4.3+ (支持): 忽略times参数,播放系统的通知铃声
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
plus.device.beep( 3 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
发出蜂鸣声<br/>
</body></html>
vibrate
设备振动
plus.device.vibrate( milliseconds );
说明:
调用此方法使得设备振动。
参数:
milliseconds: ( Number ) 必选 设备振动持续的时间
数值类型,单位为ms,默认为500ms。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持): 振动指定的时长
iOS - 4.3+ (支持): 不支持milliseconds参数,使用系统默认振动时长,仅iPhone设备支持,iPad和iTouch设备不支持,调用此接口无任何效果。 注意:若是在系统设置中关闭振动功能则没法调用设备振动(设置->声音->振动)。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
plus.device.vibrate( 2000 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
设备振动<br/>
</body></html>
setWakelock
设置应用是否保持唤醒(屏幕常亮)状态
plus.device.setWakelock( lock );
说明:
调用此方法设置应用是否一直保持唤醒状态,保持唤醒状态将会致使程序屏幕常亮、系统不会自动锁屏,从而致使消耗更多的电量。若未设置一直保持唤醒状态则会根据系统设置自动锁定屏幕。
参数:
lock: ( Boolean ) 必选 是否设置程序一直保持唤醒状态
可取值ture或false,true表示设定程序一直保持唤醒状态,false表示关闭程序一直保持唤醒状态。程序退出后将恢复默认状态,默认为关闭程序保持唤醒状态。
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
// 开启一直保持程序唤醒状态
plus.device.setWakelock( true );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
设置应用保持唤醒(屏幕常亮)状态<br/>
<button onclick="plus.device.setWakelock(false)">UnWakelock</button>
</body></html>
isWakelock
获取程序是否一直保持唤醒(屏幕常亮)状态
Boolean plus.device.isWakelock();
说明:
调用此方法获取程序是否一致保持唤醒状态。
参数:
无
返回值:
Boolean : 返回ture表示程序已设置为一直保持唤醒状态,返回false表示程序未设置为一直保持唤醒状态。
setVolume
设置设备的系统音量
plus.device.setVolume( volume );
说明:
调用此方法调节设备的系统音量。
参数:
volume: ( Number ) 必选 设备的系统音量值
取值范围为0到1,0表示静音,1表示最大音量值。设置设备音量后对全部程序生效,退出程序系统仍然保持最后设定的音量值。
返回值:
void : 无
平台支持:
iOS - 4.3+ (支持)
Android - 2.2+ (支持): 设置音量后对全部项的音量生效,如通话音量、系统音量、铃声音量、音乐音量、提示声音音量。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
// 设置音量
plus.device.setVolume( 0.5 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
设备的系统音量值<br/>
</body></html>
getVolume
获取设备的系统音量
Number plus.device.getVolume();
说明:
系统音量值范围为0到1,0表示静音,1表示最大音量值。
参数:
无
返回值:
Number : 系统的音量值
screen
Screen模块管理设备屏幕信息
属性:
resolutionHeight: 设备屏幕高度分辨率
resolutionWidth: 设备屏幕宽度分辨率
scale: 逻辑分辨率与实际分辨率的比例
dpiX: 设备屏幕水平方向的密度
dpiY: 设备屏幕垂直方向的密度
方法:
setBrightness: 设置屏幕亮度
getBrightness: 获取屏幕亮度值
lockOrientation: 锁定屏幕方向
unlockOrientation: 解除锁定屏幕方向
resolutionHeight
设备屏幕高度分辨率
plus.screen.resolutionHeight;
说明:
Number 类型 只读属性
设备屏幕区域包括系统状态栏显示区域和应用显示区域,screen获取的是设备屏幕总区域的逻辑分辨率,单位为px。 若是须要获取实际分辨率则须要乘以比例值scale。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Screen height: " + plus.screen.resolutionHeight*plus.screen.scale + "px" );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
设备屏幕高度分辨率<br/>
</body></html>
resolutionWidth
设备屏幕宽度分辨率
plus.screen.resolutionWidth;
说明:
Number 类型 只读属性
设备屏幕区域包括系统状态栏显示区域和应用显示区域,screen获取的是设备屏幕总区域的分辨率,单位为px。 若是须要获取实际分辨率则须要乘以比例值scale。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Screen width: " + plus.screen.resolutionWidtht*plus.screen.scale + "px" );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
设备屏幕宽度分辨率<br/>
</body></html>
scale
逻辑分辨率与实际分辨率的比例
plus.screen.scale;
说明:
Number 类型 只读属性
屏幕分辨率分逻辑分辨率率和实际分辨率,在html页面中使用的像素值都是相对于逻辑分辨率,此值就是逻辑分辨率和实际分辨率的比例,实际分辨率=逻辑分辨率*比例。
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Screen resolution: " + plus.screen.resolutionWidth*plus.screen.scale + " x " + plus.screen.resolutionHeight*plus.screen.scale );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
逻辑分辨率与实际分辨率的比例<br/>
</body></html>
dpiX
设备屏幕水平方向的密度
plus.screen.dpiX;
说明:
Number 类型 只读属性
设备屏幕的密度为每英寸所显示的像素点数,密度越高显示清晰度越高,单位为dpi。
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Screen dip in X: " + plus.screen.dpiX );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
设备屏幕水平方向的密度<br/>
</body></html>
dpiY
设备屏幕垂直方向的密度
plus.screen.dpiY;
说明:
Number 类型 只读属性
设备屏幕的密度为每英寸所显示的像素点数,密度越高显示清晰度越高,单位为dpi。
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Screen dip in Y: " + plus.screen.dpiY );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
设备屏幕垂直方向的密度<br/>
</body></html>
setBrightness
设置屏幕亮度
plus.screen.setBrightness( brightness );
说明:
调用此方法调节设备屏幕亮度。
参数:
brightness: ( Number ) 必选 屏幕的亮度值
取值范围为0到1,0表示最低亮度值,1表示最高亮度值。设置屏幕亮度仅对当前程序在前台运行时有效,退出程序后屏幕亮度由系统设置的值决定。
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
// 设置屏幕亮度
plus.screen.setBrightness( 0.5 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
设置屏幕亮度<br/>
</body></html>
getBrightness
获取屏幕亮度值
Number plus.screen.getBrightness();
说明:
屏幕亮度值范围为0到1,0表示最低亮度值,1表示最高亮度值。
参数:
无
返回值:
Number : 返回程序的屏幕亮度值
lockOrientation
锁定屏幕方向
void plus.screen.lockOrientation( String orientation );
说明:
锁定屏幕方向后屏幕只能按锁定的屏幕方向显示,关闭当前页面后仍然有效。 可再次调用此方法修改屏幕锁定方向或调用unlockOrientation()方法恢复到应用的默认值。
参数:
orientation: ( String ) 必选 要锁定的屏幕方向值
锁定屏幕方向可取如下值: "portrait-primary": 竖屏正方向; "portrait-secondary": 竖屏反方向,屏幕正方向按顺时针旋转180°; "landscape-primary": 横屏正方向,屏幕正方向按顺时针旋转90°; "landscape-secondary": 横屏方向,屏幕正方向按顺时针旋转270°; "portrait": 竖屏正方向或反方向,根据设备重力感应器自动调整; "landscape": 横屏正方向或反方向,根据设备重力感应器自动调整;
返回值:
void : 无
unlockOrientation
解除锁定屏幕方向
void plus.screen.unlockOrientation();
说明:
解除锁定屏幕方向后将恢复应用默认的屏幕显示方向(一般为应用打包发布时设置的方向)。
参数:
无
返回值:
void : 无
display
Display模块管理应用可以使用的显示区域信息
属性:
resolutionHeight: 应用可以使用的屏幕高度逻辑分辨率
resolutionWidth: 应用可以使用的屏幕宽度逻辑分辨率
resolutionHeight
应用可以使用的屏幕高度逻辑分辨率
plus.display.resolutionHeight;
说明:
Number 类型 只读属性
设备屏幕区域包括系统状态栏显示区域和应用显示区域,display获取的是应用显示区域的逻辑分辨率,单位为px。 若是须要获取实际分辨率则须要乘以比例值scale。
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Display height: " + plus.display.resolutionHeight*plus.screen.scale + "px" );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
应用可以使用的屏幕高度逻辑分辨率<br/>
</body></html>
resolutionWidth
应用可以使用的屏幕宽度逻辑分辨率
plus.display.resolutionWidth;
说明:
Number 类型 只读属性
设备屏幕区域包括系统状态栏显示区域和应用显示区域,display获取的是应用显示区域的逻辑分辨率,单位为px。 若是须要获取实际分辨率则须要乘以比例值scale。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "Display width: " + plus.display.resolutionWidth*plus.screen.scale + "px" );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
应用可以使用的屏幕宽度逻辑分辨率<br/>
</body></html>
networkinfo
Device模块用于获取网络信息
常量:
CONNECTION_UNKNOW: 网络链接状态未知
CONNECTION_NONE: 未链接网络
CONNECTION_ETHERNET: 有线网络
CONNECTION_WIFI: 无线WIFI网络
CONNECTION_CELL2G: 蜂窝移动2G网络
CONNECTION_CELL3G: 蜂窝移动3G网络
CONNECTION_CELL4G: 蜂窝移动4G网络
方法:
getCurrentType: 获取设备当前链接的网络类型
CONNECTION_UNKNOW
网络链接状态未知
plus.networkinfo.CONNECTION_UNKNOW;
说明:
Number 类型
网络状态常量,表示当前设备网络状态未知,固定值为0。
平台支持
CONNECTION_NONE
未链接网络
plus.networkinfo.CONNECTION_NONE;
说明:
Number 类型
网络状态常量,当前设备网络未链接网络,固定值为1。
平台支持
CONNECTION_ETHERNET
有线网络
plus.networkinfo.CONNECTION_ETHERNET;
说明:
Number 类型
网络状态常量,当前设备链接到有线网络,固定值为2。
平台支持
CONNECTION_WIFI
无线WIFI网络
plus.networkinfo.CONNECTION_WIFI;
说明:
Number 类型
网络状态常量,当前设备链接到无线WIFI网络,固定值为3。
平台支持
CONNECTION_CELL2G
蜂窝移动2G网络
plus.networkinfo.CONNECTION_CELL2G;
说明:
Number 类型
网络状态常量,当前设备链接到蜂窝移动2G网络,固定值为4。
平台支持
CONNECTION_CELL3G
蜂窝移动3G网络
plus.networkinfo.CONNECTION_CELL3G;
说明:
Number 类型
网络状态常量,当前设备链接到蜂窝移动3G网络,固定值为5。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (支持): 在iPhone上没法区分蜂窝网络类型,只能返回CONNECTION_CELL2G类型。
CONNECTION_CELL4G
蜂窝移动4G网络
plus.networkinfo.CONNECTION_CELL4G;
说明:
Number 类型
网络状态常量,当前设备链接到蜂窝移动4G网络,固定值为6。
平台支持
Android - 2.2+ (支持)
iOS - 4.3+ (支持): 在iPhone上没法区分蜂窝网络类型,只能返回CONNECTION_CELL2G类型。
getCurrentType
获取设备当前链接的网络类型
Number plus.networkinfo.getCurrentType();
说明:
获取当前设备链接的网络类型,返回值为网络类型常量,可取值CONNECTION_*常量。
参数:
无
返回值:
Number : 设备当前网络类型
平台支持:
Android - 2.3+ (支持)
iOS - 4.3+ (支持): 没法区分蜂窝移动网络类型,在蜂窝移动网络环境下均返回CONNECTION_CELL2G。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
var types = {};
types[plus.networkinfo.CONNECTION_UNKNOW] = "Unknown connection";
types[plus.networkinfo.CONNECTION_NONE] = "None connection";
types[plus.networkinfo.CONNECTION_ETHERNET] = "Ethernet connection";
types[plus.networkinfo.CONNECTION_WIFI] = "WiFi connection";
types[plus.networkinfo.CONNECTION_CELL2G] = "Cellular 2G connection";
types[plus.networkinfo.CONNECTION_CELL3G] = "Cellular 3G connection";
types[plus.networkinfo.CONNECTION_CELL4G] = "Cellular 4G connection";
alert( "Network: " + types[plus.networkinfo.getCurrentType()] );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取设备当前链接的网络类型<br/>
</body></html>
os
OS模块管理操做系统信息
属性:
language: 系统语言信息
version: 系统版本信息
name: 系统的名称
vendor: 系统的供应商信息
language
系统语言信息
plus.os.language;
说明:
String 类型 只读属性
获取当前操做系统设置的系统语言,字符串类型数据。
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "OS language: " + plus.os.language );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取系统语言信息<br/>
</body></html>
version
系统版本信息
plus.os.version;
说明:
String 类型 只读属性
获取当前操做系统的版本信息,字符串类型数据。
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "OS version: " + plus.os.version );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取系统版本信息<br/>
</body></html>
name
系统的名称
plus.os.name;
说明:
String 类型 只读属性
获取当前操做系统的名称,字符串类型数据。
平台支持:
Android - 2.2+ (支持): 返回字符串“Android”
iOS - 4.3+ (支持): 返回字符串“iOS”
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "OS name: " + plus.os.name );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取系统的名称<br/>
</body></html>
vendor
系统的供应商信息
plus.os.vendor;
说明:
String 类型 只读属性
获取当前操做系统的供应商名称,字符串类型数据。
平台支持:
Android - 2.2+ (支持): 返回字符串“Google”
iOS - 4.3+ (支持): 返回字符串“Apple”
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Device Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
alert( "OS name: " + plus.os.vendor );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
获取系统的供应商信息<br/>
</body></html>
Downloader模块管理网络文件下载任务,用于从服务器下载各类文件,并支持跨域访问操做。经过plus.downloader获取下载管理对象。Downloader下载使用HTTP的GET/POST方式请求下载文件,符合标准HTTP/HTTPS传输协议。
方法:
createDownload: 新建下载任务
enumerate: 枚举下载任务
clear: 清除下载任务
startAll: 开始全部下载任务
对象:
Download: Download对象管理一个下载任务
DownloadEvent: 下载任务事件类型
DownloadState: 下载任务状态
DownloadOptions: 下载任务参数
回调方法:
DownloadCompletedCallback: 下载任务完成时的回调
DownloadStateChangedCallback: 下载任务状态变化回调
DownloadEnumerateCallback: 枚举下载任务回调
权限:
permissions
"Downloader": {
"description": "管理下载任务"}
createDownload
新建下载任务
Download plus.downloader.createDownload( url, options, completedCB );
说明:
请求下载管理建立新的下载任务,建立成功则返回Download对象,用于管理下载任务。
参数:
url: ( String ) 必选 要下载文件资源地址
要下载文件的url地址,仅支持网络资源地址,支持http或https协议。 容许建立多个相同url地址的下载任务。
options: ( DownloadOptions ) 可选 下载任务的参数
可经过此参数设置下载任务属性,如保存文件路径、下载优先级等。
completedCB: ( DownloadCompletedCallback ) 可选 下载任务完成回调函数
当下载任务下载完成时触发,成功或失败都会触发。
返回值:
Download : 新建的下载任务对象
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 建立下载任务function createDownload() {
var dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc", {}, function ( d, status ) {
// 下载完成
if ( status == 200 ) {
alert( "Download success: " + d.filename );
} else {
alert( "Download failed: " + status );
}
});
//dtask.addEventListener( "statechanged", onStateChanged, false );
dtask.start(); }
</script>
</head>
<body>
<input id="download" type="button" value="Create download task" onclick="createDownload();"></input>
</body></html>
enumerate
枚举下载任务
plus.downloader.enumerate( enumCB, state );
说明:
枚举指定状态的下载任务列表,经过enumCB回调函数返回结果。
参数:
enumCB: ( DownloadEnumerateCallback ) 必选 枚举下载任务回调函数
枚举下载任务完成时触发。
state: ( DownloadState ) 可选 枚举下载任务的状态
若是未指定state值,则枚举全部未完成的下载任务。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
plus.downloader.enumerate( function ( tasks ) {
alert( "Unfinished task count: " + tasks.length );
} );}
</script>
</head>
<body>
Enumerate all unfinished download task.
</body></html>
clear
清除下载任务
plus.downloader.clear( state );
说明:
清除指定状态的下载任务。
参数:
state: ( DownloadState ) 必选 清除下载任务的状态
若是未指定state值,则清除全部未完成的下载任务。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
plus.downloader.clear();}
</script>
</head>
<body>
Clear all finished download task.
</body></html>
startAll
开始全部下载任务
plus.downloader.startAll();
说明:
开始全部处于为开始调度或暂停状态的下载任务。 若下载任务数超过可并发处理的总数,超出的任务处于调度状态(等待下载),当有任务完成时根据调度状态任务的优先级选择任务开始下载。
参数:
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {
plus.downloader.startAll();}
</script>
</head>
<body>
Start download task.
</body></html>
Download
Download对象管理一个下载任务
interface Download {
readonly attribute String id;
readonly attribute String url;
readonly attribute Number state;
readonly attribute DownloadOptions options;
readonly attribute String filename;
readonly attribute Number downloadedSize;
readonly attribute Number totalSize;
function void abort();
function void addEventListener( String event, function Callback listener, Boolean capture );
function String getAllResponseHeaders();
function String getResponseHeader( headerName );
function void pause();
function void resume();
function void setRequestHeader( String headerName, String headerValue );
function void start();}
属性:
id: 下载任务的标识
url: 下载文件的地址
state: 任务的状态
options: 下载任务的参数
filename: 下载的文件名称
downloadedSize: 已完成下载文件的大小
totalSize: 下载任务文件的总大小
方法:
abort: 取消下载任务
addEventListener: 添加下载任务事件监听器
getAllResponseHeaders: 获取下载请求HTTP响应头部信息
getResponseHeader: 获取下载请求指定的HTTP响应头部的值
pause: 暂停下载任务
resume: 恢复暂停的下载任务
setRequestHeader: 设置下载请求的HTTP头数据
start: 开始下载任务
id
下载任务的标识
download.id;
说明:
String 类型 只读属性
在建立任务时系统自动分配,用于标识下载任务的惟一性。
url
下载文件的地址
download.url;
说明:
String 类型 只读属性
调用plus.donwloader.createDownload()方法建立下载任务时设置的值。
state
任务的状态
download.state;
说明:
DownloadState 类型 只读属性
表示当前下载任务的状态,可经过addEventListener()方法监听statechanged事件监放任务状态的变化。
options
下载任务的参数
download.options;
说明:
DownloadOptions 类型 只读属性
调用plus.donwloader.createDownload()方法建立下载任务时设置的参数。
filename
下载的文件名称
download.filename;
说明:
String 类型 只读属性
下载任务在本地保存的文件路径,下载任务完成时更新,可经过此值访问下载的文件。
downloadedSize
已完成下载文件的大小
download.downloadedSize;
说明:
Number 类型 只读属性
整数类型,单位为字节(byte),下载任务开始传输数据时,每次触发statechanged事件或下载任务完成时更新。
totalSize
下载任务文件的总大小
download.downloadedSize;
说明:
Number 类型 只读属性
整数类型,单位为字节(byte),下载任务开始传输数据时更新,在此以前其值为0。 此值是从HTTP请求头中获取,若是服务器未返回则此值始终为0。
abort
取消下载任务
void download.abort();
说明:
若是任务未完成,则终止下载,并从任务列表中删除。 以下载未完成,将删除已下载的临时文件,若是下载已完成,将不删除已下载的文件。
参数:
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var dtask = null;// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 建立下载任务function createDownload() {
dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc", {}, function ( d, status ) {
// 下载完成
if ( status == 200 ) {
alert( "Download success: " + d.filename );
} else {
alert( "Download failed: " + status );
}
});
//dtask.addEventListener( "statechanged", onStateChanged, false );
dtask.start(); }// 暂停下载任务 function pauseDownload() {
dtask.pause();}// 取消下载任务 function abortDownload() {
dtask.pause();}
</script>
</head>
<body>
<input type="button" value="Create download task" onclick="createDownload();"></input>
<input type="button" value="Pause download task" onclick="pauseDownload();"></input>
<input type="button" value="Abort download task" onclick="abortDownload();"></input>
</body></html>
addEventListener
添加下载任务事件监听器
void download.addEventListener( type, listener, capture );
说明:
下载任务添加事件监听器后,当监听的事件发生时触发listener回调。
参数:
type: ( DownloadEvent ) 必选 事件类型
listener: ( DownloadStateChangedCallback ) 可选 事件监听器回调
当监听的事件发生时,触发设置的回调函数。
capture: ( Boolean ) 可选 事件流处理顺序,暂不支持
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var dtask = null;// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 监听下载任务状态 function onStateChanged( download, status ) {
if ( download.state == 4 && status == 200 ) {
// 下载完成
alert( "Download success: " + download.getFileName() );
} }// 建立下载任务function createDownload() {
dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc" );
dtask.addEventListener( "statechanged", onStateChanged, false );
dtask.start(); }// 暂停下载任务 function pauseDownload() {
dtask.pause();}// 取消下载任务 function abortDownload() {
dtask.pause();}
</script>
</head>
<body>
<input type="button" value="Create download task" onclick="createDownload();"></input>
<input type="button" value="Pause download task" onclick="pauseDownload();"></input>
<input type="button" value="Abort download task" onclick="abortDownload();"></input>
</body></html>
getAllResponseHeaders
获取下载请求HTTP响应头部信息
String download.getAllResponseHeaders();
说明:
HTTP响应头部所有内容做为未解析的字符串返回,若是没有接收到这个HTTP响应头数据或者下载请求未完成则为空字符串。
参数:
无
返回值:
String : HTTP响应头数据
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 建立下载任务function createDownload() {
var dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc", {}, function ( d, status ) {
// 下载完成
if ( status == 200 ) {
console.log(dtask.getAllResponseHeaders()); // 获取下载请求响应头数据
alert( "Download success: " + d.filename );
} else {
alert( "Download failed: " + status );
}
});
dtask.start(); }
</script>
</head>
<body>
<button onclick="createDownload();">Create download task</button>
</body></html>
getResponseHeader
获取下载请求指定的HTTP响应头部的值
String download.getResponseHeader( headerName );
说明:
其参数是要返回的HTTP响应头部的名称,可使用任何大小写来制定这个头部名字,和响应头部的比较是不区分大小写的。 若是没有接收到这个头部或者下载请求未完成则为空字符串;若是接收到多个有指定名称的头部,这个头部的值被链接起来并返回,使用逗号和空格分隔开各个头部的值。
参数:
headerName: ( String ) 可选 HTTP响应头数据名称
返回值:
String : HTTP响应头数据值
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 建立下载任务function createDownload() {
var dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc", {}, function ( d, status ) {
// 下载完成
if ( status == 200 ) {
console.log(dtask.getResponseHeader("Content-Type")); // 获取下载请求响应头中的Content-Type值
alert( "Download success: " + d.filename );
} else {
alert( "Download failed: " + status );
}
});
dtask.start(); }
</script>
</head>
<body>
<button onclick="createDownload();">Create download task</button>
</body></html>
pause
暂停下载任务
void download.pause();
说明:
暂停下载任务,若是任务已经处于初始状态或暂停状态则无任何响应。 一般在任务已开始后暂停任务。
参数:
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var dtask = null;// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 建立下载任务function createDownload() {
dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc", {}, function ( d, status ) {
// 下载完成
if ( status == 200 ) {
alert( "Download success: " + d.filename );
} else {
alert( "Download failed: " + status );
}
});
//dtask.addEventListener( "statechanged", onStateChanged, false );
dtask.start(); }// 暂停下载任务 function pauseDownload() {
dtask.pause();}
</script>
</head>
<body>
<input type="button" value="Create download task" onclick="createDownload();"></input>
<input type="button" value="Pause download task" onclick="pauseDownload();"></input>
</body></html>
resume
恢复暂停的下载任务
void download.resume();
说明:
继续暂停的下载任务,若是任务处于非暂停状态则无任何响应。
参数:
返回值:
void : 无
示例:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Downloader Example</title><script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var dtask = null;// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {}// 建立下载任务function createDownload() {
dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc", {}, function ( d, status ) {
// 下载完成
if ( status == 200 ) {
alert( "Download success: " + d.filename );
} else {
alert( "Download failed: " + status );
}
});
//dtask.addEventListener( "statechanged", onStateChanged, false );
dtask.start();}// 暂停下载任务function pauseDownload() {
dtask.pause();}// 恢复下载任务function resumeDownload() {
dtask.resume();}</script></head><body>
<input type="button" value="Create download task" onclick="createDownload();"></input>
<input type="button" value="Pause download task" onclick="pauseDownload();"></input>
<input type="button" value="Resume download task" onclick="resumeDownload();"></input></body></html>
setRequestHeader
设置下载请求的HTTP头数据
void download.setRequestHeader( headerName, headerValue );
说明:
Http的Header应该包含在经过后续start()调用而发起的请求中,此方法必需在调用start()以前设置才能生效。 若是带有指定名称的头部已经被指定了,这个头部的新值就是:以前指定的值,加上逗号、以及这个调用指定的值(造成一个数组)。
参数:
headerName: ( String ) 必选 HTTP请求的头数据名称
headerValue: ( String ) 必选 HTTP请求的头数据值
返回值:
void : 无
平台支持:
Android - 2.2+ (支持): 不支持设置“User-Agent”、“Cookie”的值。
iOS - 5.1+ (支持): 不支持设置“User-Agent”的值。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 建立下载任务function createDownload() {
var dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc", {}, function ( d, status ) {
// 下载完成
if ( status == 200 ) {
alert( "Download success: " + d.filename );
} else {
alert( "Download failed: " + status );
}
},{method:"POST",data:"{name:'test',id:'1234567890'}"});// POST请求提交数据
dtask.setRequestHeader('Content-Type','application/json');// 设置POST请求提交的数据类型为JSON字符串
dtask.start(); }
</script>
</head>
<body>
<button onclick="createDownload();">Create download task</button>
</body></html>
start
开始下载任务
void download.start();
说明:
开始下载任务,若是任务已经处于开始状态则无任何响应。 在建立任务或任务下载失败后调用可从新开始下载。
参数:
无
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 建立下载任务function createDownload() {
var dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc", {}, function ( d, status ) {
// 下载完成
if ( status == 200 ) {
alert( "Download success: " + d.filename );
} else {
alert( "Download failed: " + status );
}
});
//dtask.addEventListener( "statechanged", onStateChanged, false );
dtask.start(); }
</script>
</head>
<body>
<input id="download" type="button" value="Create download task" onclick="createDownload();"></input>
</body></html>
DownloadEvent
下载任务事件类型
常量:
"statechanged": (String 类型 )下载任务状态变化事件
当下载任务状态发生变化时触发此事件,事件原型参考DownloadStateChangedCallback。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Downloader Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var dtask = null;// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 监听下载任务状态 function onStateChanged( download, status ) {
if ( download.state == 4 && status == 200 ) {
// 下载完成
alert( "Download success: " + download.getFileName() );
} }// 建立下载任务function createDownload() {
dtask = plus.downloader.createDownload( "http://www.abc.com/a.doc" );
dtask.addEventListener( "statechanged", onStateChanged, false );
dtask.start(); }// 暂停下载任务 function pauseDownload() {
dtask.pause();}// 取消下载任务 function abortDownload() {
dtask.pause();}
</script>
</head>
<body>
<input type="button" value="Create download task" onclick="createDownload();"></input>
<input type="button" value="Pause download task" onclick="pauseDownload();"></input>
<input type="button" value="Abort download task" onclick="abortDownload();"></input>
</body></html>
DownloadState
下载任务状态
常量:
undefined: (undefined 类型 )下载任务未开始
经过plus.downloader.createDownload()方法建立下载任务后的初始状态,此时可调用其start()方法开始下载。
0: (Number 类型 )下载任务开始调度
调用下载任务的start()方法以后处于此状态,此时下载任务处于可调度下载状态。
1: (Number 类型 )下载任务开始请求
下载任务创建网络链接,发送请求到服务器并等待服务器的响应。
2: (Number 类型 )下载任务请求已经接收
下载任务网络链接已创建,服务器返回响应,准备传输数据内容。
3: (Number 类型 )下载任务接收数据
下载任务接收数据,监听statechanged事件时可屡次触发此状态。
4: (Number 类型 )下载任务已完成
下载任务完成数据传输并断开链接,下载成功或失败都会设置为此状态。
5: (Number 类型 )下载任务已暂停
调用下载任务的pause()方法将任务暂停,此时可调用其resume()方法从新开始下载。
-1: (Number 类型 )枚举任务状态
非下载任务状态,泛指全部下载任务的状态,用于enumerate()和clear()操做时指定做用于全部下载任务。
DownloadOptions
下载任务参数
说明:
在建立下载任务时设置的参数,如设置下载任务使用的HTTP协议类型、优先级等。
属性:
method: (String 类型 )网络请求类型
支持http协议的“GET”、“POST”,默认为“GET”请求。
data: (String 类型 )POST请求时提交的数据
仅在网络请求类型method设置为"POST"时有效,"GET"请求时忽略此数据。
filename: (String 类型 )下载文件保存的路径
保存文件路径仅支持以"_downloads/"、"_doc/"、"_documents/"开头的字符串。 文件路径以文件后缀名结尾(如"_doc/download/a.doc")代表指定保存文件目录及名称,以“/”结尾则认为指定保存文件的目录(此时程序自动生成文件名)。 若是指定的文件已经存在,则自动在文件名后面加"(i)",其中i为数字,若是文件名称后面已是此格式,则数字i递增,如"download(1).doc"。 默认保存目录为("_downloads"),并自动生成文件名称。
priority: (Number 类型 )下载任务的优先级
数值类型,数值越大优先级越高,默认优先级值为0。
timeout: (Number 类型 )下载任务超时时间
数值类型,单位为s(秒),默认值为120s。 超时时间为服务器响应请求的时间(不是下载任务完成的总时间),若是设置为0则表示永远不超时。
retry: (Number 类型 )下载任务重试次数
数值类型,默认为重试3次。
retryInterval: (Number 类型 )下载任务重试间隔时间
数值类型,单位为s(秒),默认值为30s。
DownloadCompletedCallback
下载任务完成时的回调
vaoid onCompleted( Download download, Number status ) {
// Download file complete code}
说明:
下载任务完成时的回调函数,在下载任务完成时调用。 下载任务失败也将触发此回调。
参数:
download : ( Download ) 必选 下载任务对象
status: ( Number ) 必选 下载结果状态码
HTTP传输协议状态码,若是未获取传输状态则其值则为0,以下载成功其值一般为200。
返回值:
void : 无
DownloadStateChangedCallback
下载任务状态变化回调
void onStateChanged( Download download, status ) {
// Download state changed code.}
参数:
download : ( Download ) 必选 下载任务对象
status: ( Number ) 必选 下载结果状态码
HTTP传输协议状态码,若是未获取传输状态则其值则为0,以下载成功其值一般为200。
返回值:
void : 无
DownloadEnumerateCallback
枚举下载任务回调
void onEnumerated( Download[] downloads ) {
// Enumerate success code}
参数:
downloads: ( Array[ Download ] ) 必选 枚举到的下载任务对象数组
返回值:
void : 无
Events模块管理客户端事件,包括系统事件,如扩展API加载完毕、程序先后台切换等。
常量:
"plusready": 扩展API加载完成事件
"pause": 运行环境从前台切换到后台事件
"resume": 运行环境从后台切换到前台事件
"netchange": 设备网络状态变化事件
"newintent": 新意图事件
"plusscrollbottom": 窗口滚动到底部事件
"error": 页面加载错误事件
方法:
addEventListener: 添加事件监听函数
回调方法:
EventTrigCallback: 事件触发回调函数
ErrorEventTrigCallback: 页面加载错误事件回调函数
权限:
permissions
"Events": {
"description": "访问应用状态变化事件"}
"plusready"
扩展API加载完成事件
document.addEventListener( "plusready", plusreadyCallback, capture );
说明:
String 类型
为了保证扩展API的有效调用,全部应用页面都会用到的重要事件。 应用页面显示时须要首先加载扩展和API代码库,当扩展API代码库加载完成时会触发pluseready事件,当设备触发该事件后,用户就能够安全的调用扩展API。 若是程序中打开多个页面,每一个都会收到此事件。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false ); function onPlusReady() {
// 扩展API加载完毕,如今能够正常调用扩展API
// ...... }
</script>
</head>
<body >
</body></html>
"pause"
运行环境从前台切换到后台事件
document.addEventListener( "pause", pauseCallback, capture );
说明:
String 类型
当程序从前台切换到后台时会触发此事件。 若应用须要处理从前台切换到后台的事件行为,可经过注册事件监听器来监听“pause”事件,此事件须要在plusready事件后经过document进行注册。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false ); function onPlusReady() {
document.addEventListener( "pause", onAppPause, false );}function onAppPause() {
console.log( "Application paused!" ); }
</script>
</head>
<body >
</body></html>
"resume"
运行环境从后台切换到前台事件
document.addEventListener( "resume", resumeCallback, capture );
说明:
String 类型
当程序从后台切换到前台时会触发此事件。 若应用须要处理从后台切换到前台的事件行为,可经过注册事件监听器来监听“resume”事件,此事件须要在plusready事件后经过document进行注册。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false ); function onPlusReady() {
document.addEventListener( "resume", onAppReume, false );}function onAppReume() {
alert( "Application resumed!" ); }
</script>
</head>
<body >
</body></html>
"netchange"
设备网络状态变化事件
document.addEventListener( "netchange", netchangeCallback, capture );
说明:
String 类型
设备网络状态发生时会触发此事件。 若应用须要处理网络状态变化的事件行为,可经过注册事件监听器来监听“netchange”事件,此事件须要在plusready事件后经过document进行注册。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );function onPlusReady() {
document.addEventListener( "netchange", onNetChange, false ); }function onNetChange() {
var nt = plus.networkinfo.getCurrentType();
switch ( nt ) {
case plus.networkinfo.CONNECTION_ETHERNET:
case plus.networkinfo.CONNECTION_WIFI:
alert("Switch to Wifi networks!");
break;
case plus.networkinfo.CONNECTION_CELL2G:
case plus.networkinfo.CONNECTION_CELL3G:
case plus.networkinfo.CONNECTION_CELL4G:
alert("Switch to Cellular networks!");
break;
default:
alert("Not networks!");
break;
}}
</script>
</head>
<body >
</body></html>
"newintent"
新意图事件
document.addEventListener( "newintent", newintentCallback, capture );
说明:
String 类型
程序从后台被第三方程序调用并传入新意图事件。 此时程序将切换到前台运行,若应用须要处理新意图的事件行为,可经过注册事件监听器来监听“newintent”事件,此事件须要在plusready事件后经过document进行注册。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );function onPlusReady() {
document.addEventListener( "newintent", onNetIntent, false );}function onNetIntent() {
// 获取新意图传入的参数
var args = plus.runtime.arguments;
// 处理意图事件}
</script>
</head>
<body >
</body></html>
"plusscrollbottom"
窗口滚动到底部事件
document.addEventListener( "plusscrollbottom", eventCallback, capture );
说明:
String 类型
当滚动Webview窗口到底部时触发此事件。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );function onPlusReady() {
document.addEventListener( "plusscrollbottom", onScrollToBottom, false );}function onScrollToBottom() {
// 处理滚动到窗口底部事件}
</script>
</head>
<body >
</body></html>
"error"
页面加载错误事件
document.addEventListener( "error", eventCallback, capture );
说明:
String 类型
当Webview窗口加载页面失败后打开错误页面时触发此事件。 注意:此事件仅在错误页面中才触发。
示例:
<!DOCTYPE html><html><head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta name="HandheldFriendly" content="true"/>
<meta name="MobileOptimized" content="320"/>
<title>Error</title>
<script type="text/javascript">// H5 plus事件处理var ws=null;function plusReady(){
// Android处理返回键
plus.key.addEventListener('backbutton',function(){
(history.length==1)&&ws.close();
var c=setTimeout(function(){
ws.close();
},1000);
window.onbeforeunload=function(){
clearTimeout(c);
}
history.go(-2);
},false);
ws=plus.webview.currentWebview();}if(window.plus){
plusReady();}else{
document.addEventListener('plusready',plusReady,false);}
document.addEventListener('touchstart',function(){
return false;},true);// 禁止选择
document.oncontextmenu=function(){
return false;};// 获取错误信息
document.addEventListener("error",function(e){
info.innerText="请求的页面("+e.href+")没法打开";},false);
</script>
<style>*{
-webkit-user-select: none;}
html,body{
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
text-align: center;
-webkit-touch-callout:none;
-webkit-tap-highlight-color:rgba(0,0,0,0);}.button{
width: 50%;
font-size: 18px;
font-weight: normal;
text-decoration: none;
text-align: center;
padding: .5em 0em;
margin: .5em auto;
color: #333333;
background-color: #EEEEEE;
border: 1px solid #CCCCCC;
-webkit-border-radius: 5px;
border-radius: 5px;}.button:active{
background-color: #CCCCCC;}
</style></head><body>
<div style="width:100%;height:20%;"></div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 512 512" style="height:20%;">
<g id="icomoon-ignore">
<line stroke-width="1" x1="" y1="" x2="" y2="" stroke="#449FDB" opacity=""></line>
</g>
<path d="M256 0c-141.385 0-256 114.615-256 256s114.615 256 256 256 256-114.615 256-256-114.615-256-256-256zM352 128c17.673 0 32 14.327 32 32s-14.327 32-32 32-32-14.327-32-32 14.327-32 32-32zM160 128c17.673 0 32 14.327 32 32s-14.327 32-32 32-32-14.327-32-32 14.327-32 32-32zM352.049 390.37c-19.587-32.574-55.272-54.37-96.049-54.37s-76.462 21.796-96.049 54.37l-41.164-24.698c27.98-46.535 78.958-77.672 137.213-77.672s109.232 31.137 137.213 77.672l-41.164 24.698z" fill="#666666"></path>
</svg>
<p style="font-size:18px;font-weight:bolder;">We're sorry ...</p>
<p id="info" style="font-size:12px;"></p>
<!--<div class="button" onclick="history.back()">Retry</div>-->
<div class="button" onclick="if(history.length == 1){ws.close();}else{ws.back();ws.back();}">Back</div>
<div class="button" onclick="ws.close()">Close</div></body></html>
addEventListener
添加事件监听函数
void document.addEventListener( event, callback, capture );
说明:
经过Html中标准document对象的addEventListener方法添加扩展事件监听器,当指定事件发生时,将触发对应额监听回调函数。
参数:
event: ( DOMString ) 必选 要添加监听的事件类型,可取上面列出的全部事件常量
callback: ( EventTrigCallback ) 必选 扩展API加载完毕触发的回调函数
capture: ( Boolean ) 可选 事件流捕获顺序,可忽略
返回值:
void : 无
EventTrigCallback
事件触发回调函数
void onTrig() {
// Event trig code}
说明:
指定事件触发时的回调函数,在指定的事件已经发生时调用。
参数:
无
返回值:
void : 无
ErrorEventTrigCallback
页面加载错误事件回调函数
void onErrorTrig( Event event ) {
// Event trig code
var url = event.url; // 加载错误的页面路径,API中传入的url值
var href = event.href; // 加载错误的页面完整路径,一般以“file://”开头的路径}
说明:
当Webview窗口加载页面失败后打开错误页面时触发此事件。
参数:
event: ( Event ) 可选 加载页面失败信息
可经过event.url(String类型)获取加载页面的url值,如“./test/html”; 可经过event.href(String类型)加载错误的页面完整路径,包括完整的协议头,如Android平台“file:///storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/www/test.html”,iOS平台“file:///var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/www/test.html”。
返回值:
void : 无
Gallery模块管理系统相册,支持从相册中选择图片或视频文件、保存图片或视频文件到相册等功能。经过plus.gallery获取相册管理对象。
方法:
pick: 从系统相册选择文件(图片或视频)
save: 保存文件到系统相册中
对象:
GalleryOptions: JSON对象,从相册中选择文件的参数
GalleryFilter: 相册选择文件过滤类型
PopPosition: JSON对象,弹出拍照或摄像界面指示位置
回调方法:
GalleryPickSuccessCallback: 单选系统相册图片成功的回调
GalleryMultiplePickSuccessCallback: 多选系统相册图片成功的回调
GallerySuccessCallback: 操做系统相册成功的回调
GalleryErrorCallback: 系统相册操做失败的回调
权限:
permissions
"Gallery": {
"description": "访问系统相册"}
pick
从系统相册选择文件(图片或视频)
void plus.gallery.pick( successCB, errorCB, option );
说明:
从系统相册中选择图片或视频文件。每次仅能选择一个文件,选择后将返回选择的文件路径。
参数:
succesCB: ( GalleryPickSuccessCallback | GalleryMultiplePickSuccessCallback ) 必选 从系统相册中选择文件完成后的回调函数
单选时经过GalleryPickSuccessCallback回调函数返回选择的图片或视频文件路径,多选时经过GalleryMultiplePickSuccessCallback回调函数返回图片或视频文件路径。
errorCB: ( GalleryErrorCallback ) 可选 从系统相册中选择文件操做错误的回调函数
option: ( GalleryOptions ) 可选 设置选择文件的参数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持): 返回的是系统相册路径,如“file:///storage/sdcard0/DCIM/Camera/1428841301674.jpg”。
iOS - 5.1+ (支持): 受系统相册路径的访问限制,选择后图片会先拷贝到应用沙盒下的"_doc"目录中,如“file:///var/mobile/Applications/0373DFBF-6AA7-4C9B-AE1F-766469117C94/Library/Pandora/apps/HBuilder/doc/IMG_0005.jpg”。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Gallery Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 从相册中选择图片 function galleryImg() {
// 从相册中选择图片
console.log("从相册中选择图片:");
plus.gallery.pick( function(path){
console.log(path);
}, function ( e ) {
console.log( "取消选择图片" );
}, {filter:"image"} );}// 从相册中选择多张图片 function galleryImgs(){
// 从相册中选择图片
console.log("从相册中选择多张图片:");
plus.gallery.pick( function(e){
for(var i in e.files){
console.log(e.files[i]);
}
}, function ( e ) {
console.log( "取消选择图片" );
},{filter:"image",multiple:true});}
</script>
</head>
<body >
从相册中选择图片
<br/>
<button onclick="galleryImg()">选择单张图片</button>
<br/>
<button onclick="galleryImgs()">选择多张图片</button>
</body></html>
save
保存文件到系统相册中
void plus.gallery.save( path, successCB, errorCB );
说明:
保存文件到系统相册中。 每次仅能保存一个文件,支持图片类型(jpg/jpeg、png、bmp等格式)和视频文件(3gp、mov等格式)。 若保存的文件系统不支持,则经过errorCB返回错误信息。
参数:
path : ( String ) 必选 要保存到系统相册中的文件文件地址
仅支持本地路径,不支持网络路径。
succesCB: ( GallerySuccessCallback ) 必选 保存文件到系统相册中成功的回调函数
errorCB: ( GalleryErrorCallback ) 可选 保存文件到系统相册中失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Gallery Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 保存图片到相册中 function savePicture() {
plus.gallery.save( "_doc/a.jpg", function () {
alert( "保存图片到相册成功" );
} );}
</script>
</head>
<body >
<input type="button" value="Save picture to Gallery" onclick="savePicture();" ></input>
</body></html>
GalleryOptions
JSON对象,从相册中选择文件的参数
属性:
filename: (String 类型 )选择文件保存的路径
某些系统不能直接使用系统相册的路径,这时须要将选择的文件保存到应用可访问的目录中,可经过此参数设置保存文件的路径。 若是路径中包括文件后缀名称,则代表指定文件路径及名称,不然仅指定文件保存目录,文件名称自动生成。
平台支持
Android - 2.2+ (不支持): 直接返回系统相册中的文件路径,忽略此参数。
iOS - 4.3+ (支持): iOS会将相册中的文件拷贝到当前应用沙箱系统目录中,若是未设置则默认使用“_doc”目录。
filter: (GalleryFilter 类型 )相册中选择文件类型过滤器
系统相册选择器中可选择的文件类型,可设置为仅选择图片文件(“image”)、视频文件(“video”)或全部文件(“none”),默认值为“image”。
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Gallery Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 从相册中选择图片 function galleryImg() {
// 从相册中选择图片
console.log("从相册中选择图片:");
plus.gallery.pick( function(path){
console.log(path);
}, function ( e ) {
console.log( "取消选择图片" );
}, {filter:"image"} );}
</script>
</head>
<body >
从相册中选择图片
<br/>
<button onclick="galleryImg()">选择图片</button>
</body></html>
multiple: (Boolean 类型 )是否支持多选图片
可从系统相册中选择多张图片,选择图片后经过GalleryMultiplePickSuccessCallback回调返回选择的图片。
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Gallery Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 从相册中选择多张图片 function galleryImgs(){
// 从相册中选择图片
console.log("从相册中选择多张图片:");
plus.gallery.pick( function(e){
for(var i in e.files){
console.log(e.files[i]);
}
}, function ( e ) {
console.log( "取消选择图片" );
},{filter:"image",multiple:true});}
</script>
</head>
<body >
从相册中选择多张图片
<br/>
<button onclick="galleryImgs()">选择图片</button>
</body></html>
animation: (Boolean 类型 )是否显示系统相册文件选择界面的动画
是否显示系统相册文件选择界面的动画,可取值true、false,默认值为true。
平台支持
Android - 2.2+ (不支持): 忽略此参数,无动画效果。
iOS - 4.3+ (支持): 支持动画效果。
popover: (PopPosition 类型 )相册选择界面弹出指示区域
对于大屏幕设备如iPad,相册选择界面为弹出窗口,此时可经过此参数设置弹出窗口位置。 其为JSON对象,格式如{top:"10px",left:"10px",width:"200px",height:"200px"},全部值为像素值,左上坐标相对于容器的位置,默认弹出位置为屏幕居中。
system: (Boolean 类型 )是否使用系统相册文件选择界面
设置为true时,若是系统自带相册选择控件时则优先使用,不然使用5+统一相册选择控件;设置为false则不使用系统自带相册选择控件,直接使用5+统一相册选择界面。 默认值为true。
平台支持
Android - 2.3+ (不支持): Android4.0以上系统支持自带相册选择控件。
iOS - 5.1+ (不支持): 不支持系统自带相册选择控件,忽略此参数。
GalleryFilter
相册选择文件过滤类型
属性:
"image": (String 类型 )仅可选择图片文件
"video": (String 类型 )仅可选择视频文件
"none": (String 类型 )不过滤,可选择图片或视频文件
PopPosition
JSON对象,弹出拍照或摄像界面指示位置
属性:
top: (String 类型 )指示区域距离容器顶部的距离
弹出拍照或摄像窗口指示区域距离容器顶部的距离,单位支持像素值(如"100px")和百分比(如"50%"),如不写单位则为像素值值。
left: (String 类型 )指示区域距离容器左侧的距离
弹出拍照或摄像窗口指示区域距离容器左侧的距离,单位支持像素值(如"100px")和百分比(如"50%"),如不写单位则为像素值。
width: (String 类型 )指示区域的宽度
弹出拍照或摄像窗口指示区域的宽度,单位支持像素值(如"100px")和百分比(如"50%"),如不写单位则为像素值。
height: (String 类型 )指示区域的高度
弹出拍照或摄像窗口指示区域的高度,单位支持像素值(如"100px")和百分比(如"50%"),如不写单位则为像素值。
GalleryPickSuccessCallback
单选系统相册图片成功的回调
void onSuccess( file ) {
// Success code}
说明:
系统相册中单选图片或视频文件成功的回调函数,在选择文件操做成功时调用。
参数:
file: ( String ) 必选 选择的图片或视频文件路径
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Gallery Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 从相册中选择单张图片 function galleryImg() {
// 从相册中选择图片
console.log("从相册中选择图片:");
plus.gallery.pick( function(path){
console.log(path);
}, function ( e ) {
console.log( "取消选择图片" );
}, {filter:"image"} );}
</script>
</head>
<body >
从相册中选择单张图片
<br/>
<button onclick="galleryImg()">选择图片</button>
</body></html>
GalleryMultiplePickSuccessCallback
多选系统相册图片成功的回调
void onSuccess( event ) {
// Pick success
var files = event.files; // 保存多选的图片或视频文件路径}
说明:
系统相册中多选图片或视频文件成功的回调函数,在多选择文件操做成功时调用。
参数:
event: ( Event ) 必选 多选系统相册返回数据
Event对象包含如下属性: files - 字符串数组,保存多选的图片或视频文件路径。
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Gallery Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );var r = null; // 扩展API加载完毕,如今能够正常调用扩展API function onPlusReady() {}// 从相册中选择多张图片 function galleryImgs(){
// 从相册中选择图片
console.log("从相册中选择多张图片:");
plus.gallery.pick( function(e){
for(var i in e.files){
console.log(e.files[i]);
}
}, function ( e ) {
console.log( "取消选择图片" );
},{filter:"image",multiple:true});}
</script>
</head>
<body >
从相册中选择多张图片
<br/>
<button onclick="galleryImgs()">选择图片</button>
</body></html>
GallerySuccessCallback
操做系统相册成功的回调
void onSuccess() {
// Success code}
说明:
系统相册操做成功的回调函数,在保存文件到系统相册操做成功时调用。
参数:
无
返回值:
void : 无
GalleryErrorCallback
系统相册操做失败的回调
void onError( error ) {
// Handle error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息}
说明:
系统相册操做失败的回调函数,在选择或保存图片操做失败时调用。
参数:
error: ( Exception ) 必选 相册操做失败的错误信息
可经过error.code(Number类型)获取错误编码; 可经过error.message(String类型)获取错误描述信息。
返回值:
void : 无
Geolocation模块管理设备位置信息,用于获取地理位置信息,如经度、纬度等。经过plus.geolocation可获取设备位置管理对象。虽然W3C已经提供标准API获取位置信息,但在某些平台存在差别或未实现,为了保持各平台的统一性,定义此规范接口获取位置信息。
方法:
getCurrentPosition: 获取当前设备位置信息
watchPosition: 监听设备位置变化信息
clearWatch: 关闭监听设备位置信息
对象:
Position: JSON对象,设备位置信息数据
Address: JSON对象,地址信息
Coordinates: JSON对象,地理坐标信息
PositionOptions: JSON对象,监听设备位置信息参数
GeolocationError: JSON对象,定位错误信息
回调方法:
GeolocationSuccessCallback: 获取设备位置信息成功的回调函数
GeolocationErrorCallback: 获取设备位置信息失败的回调函数
权限:
permissions
"Geolocation": {
"description": "访问设备位置信息"}
getCurrentPosition
获取当前设备位置信息
void plus.geolocation.getCurrentPosition( successCB, errorCB, option );
说明:
位置信息将经过手机GPS设备或其它信息如IP地址、移动网络信号获取,因为获取位置信息可能须要较长的时间,当成功获取位置信息后将经过successCB回调函数返回。
参数:
successCB: ( GeolocationSuccessCallback ) 必选 获取设备位置信息成功回调函数
errorCB: ( GeolocationErrorCallback ) 可选 获取设备位置信息失败回调函数
option: ( PositionOptions ) 可选 获取设备位置信息的参数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Geolocation Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.geolocation.getCurrentPosition( function ( p ) {
alert( "Geolocation\nLatitude:" + p.coords.latitude + "\nLongitude:" + p.coords.longitude + "\nAltitude:" + p.coords.altitude );
}, function ( e ) {
alert( "Geolocation error: " + e.message );
} );}
</script>
</head>
<body >
</body></html>
watchPosition
监听设备位置变化信息
Number plus.geolocation.watchPosition( successCB, errorCB, option );
说明:
位置信息将经过手机GPS设备或其它信息如IP地址、移动网络信号获取。当位置信息更新后将经过successCB回调函数返回。位置信息获取失败则调用回调函数errorCB。
参数:
successCB: ( GeolocationSuccessCallback ) 必选
设备位置信息更新成功回调函数
errorCB: ( GeolocationErrorCallback ) 可选
获取设备位置信息失败回调函数
option: ( PositionOptions ) 可选
监听设备位置信息的参数
返回值:
Number : 用于标识位置信息监听器,可经过clearWatch方法取消监听。
平台支持:
Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Geolocation Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.geolocation.watchPosition( function ( a ) {
alert( "Geolocation\nLatitude:" + p.coords.latitude + "\nLongitude:" + p.coords.longitude + "\nAltitude:" + p.coords.altitude );
}, function ( e ) {
alert( "Geolocation error: " + e.message );
} ); }
</script>
</head>
<body >
</body></html>
clearWatch
关闭监听设备位置信息
void plus.geolocation.clearWatch( watchId );
参数:
watchId: ( Number ) 必选
须要取消的位置监听器标识,调用watchPosition方法的返回值。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Geolocation Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIvar wid = null;function onPlusReady() {
wid = plus.geolocation.watchPosition( function ( p ) {
alert( "Geolocation\nLatitude:" + p.coords.latitude + "\nLongitude:" + p.coords.longitude + "\nAltitude:" + p.coords.altitude );
}, function ( e ) {
alert( "Geolocation error: " + e.message );
} );}function cancel() {
plus.geolocation.clearWatch( wid );
wid = null;}
</script>
</head>
<body >
<input type="button" value="Cancel" onclick="cancel();" ></input>
</body></html>
Position
JSON对象,设备位置信息数据
interface Position {
readonly attribute Coordinates coords;
readonly attribute String coordsType;
readonly attribute Number timestamp;
readonly attribute Address address;
readonly attribute String addresses;}
属性:
coords: (Coordinates 类型 )地理坐标信息,包括经纬度、海拔、速度等信息
coordsType: (String 类型 )获取到地理坐标信息的坐标系类型
可取如下坐标系类型: “gps”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系; “bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系。
timestamp: (Number 类型 )获取到地理坐标的时间戳信息
时间戳值为从1970年1月1日至今的毫秒数。
address: (Address 类型 )获取到地理位置对应的地址信息
获取地址信息须要链接到服务器进行解析,因此会消耗更多的资源,若是不须要获取地址信息可经过设置PositionOptions参数的geocode属性值为false避免获取地址信息。 若是没有获取到地址信息则返回undefined。
平台支持
Android - 2.3+ (支持): 使用系统定位模块没法获取位置信息。
iOS - 5.1+ (支持): 系统定位模块也支持获取位置信息。
addresses: (String 类型 )获取完整地址描述信息
若是没有获取到地址信息则返回undefined。
平台支持
Android - 2.3+ (支持): 使用系统定位模块没法获取位置信息。
iOS - 5.1+ (支持): 系统定位模块也支持获取位置信息。
Address
JSON对象,地址信息
interface Address {
readonly attribute String country;
readonly attribute String province;
readonly attribute String city;
readonly attribute String district;
readonly attribute String street;
readonly attribute String poiName;
readonly attribute String postalCode;
readonly attribute String cityCode;}
属性:
country: (String 类型 )国家
如“中国”,若是没法获取此信息则返回undefined。
province: (String 类型 )省份名称
如“北京市”,若是没法获取此信息则返回undefined。
city: (String 类型 )城市名称
如“北京市”,若是没法获取此信息则返回undefined。
district: (String 类型 )区(县)名称
如“朝阳区”,若是没法获取此信息则返回undefined。
street: (String 类型 )街道和门牌信息
如“酒仙桥路”,若是没法获取此信息则返回undefined。
poiName: (String 类型 )POI信息
如“电子城.国际电子总部”,若是没法获取此信息则返回undefined。
postalCode: (String 类型 )邮政编码
如“100016”,若是没法获取此信息则返回undefined。
cityCode: (String 类型 )城市代码
如“010”,若是没法获取此信息则返回undefined。
Coordinates
JSON对象,地理坐标信息
interface Coordinates {
readonly attribute double latitude;
readonly attribute double longitude;
readonly attribute double altitude;
readonly attribute double accuracy;
readonly attribute double altitudeAccuracy;
readonly attribute double heading;
readonly attribute double speed;}
属性:
latitude: (Number 类型 )坐标纬度值
数据类型对象,地理坐标中的纬度值。
longitude: (Number 类型 )坐标经度值
数据类型对象,地理坐标中的经度值。
altitude: (Number 类型 )海拔信息
数据类型对象,若是没法获取此信息,则此值为空(null)。
accuracy: (Number 类型 )地理坐标信息的精确度信息
数据类型对象,单位为米,其有效值必须大于0。
altitudeAccuracy: (Number 类型 )海拔的精确度信息
数据类型对象,单位为米,其有效值必须大于0。若是没法获取海拔信息,则此值为空(null)。
heading: (Number 类型 )表示设备移动的方向
数据类型对象,范围为0到360,表示相对于正北方向的角度。若是没法获取此信息,则此值为空(null)。若是设备没有移动则此值为NaN。
speed: (Number 类型 )表示设备移动的速度
数据类型对象,单位为米每秒(m/s),其有效值必须大于0。若是没法获取速度信息,则此值为空(null)。
PositionOptions
JSON对象,监听设备位置信息参数
属性:
enableHighAccuracy: (Boolean 类型 )是否高精确度获取位置信息
高精度获取表示须要使用更多的系统资源,默认值为false。
timeout: (Number 类型 )获取位置信息的超时时间
单位为毫秒(ms),默认值为不超时。若是在指定的时间内没有获取到位置信息则触发错误回调函数。
maximumAge: (Number 类型 )获取位置信息的缓存时间
单位为毫秒(ms),默认值为0(当即更新获取)。若是设备缓存的位置信息超过指定的缓存时间,将从新更新位置信息后再返回。
provider: (String 类型 )定位数据的供应者
可取如下供应者: "system":表示系统定位模块,支持wgs84坐标系; "baidu":表示百度定位模块,支持gcj02/bd09/bd09ll坐标系; "amap":表示高德定位模板,支持gcj02坐标系。 默认使用“system”值,若指定的provider不存在或无效则返回错误回调。 注意:百度/高德定位模块须要配置百度/高德地图相关参数才能正常使用。
平台支持
Android - 2.2+ (支持)
iOS - 4.5+ (支持): provider为“baidu”时,仅支持bd09ll坐标系,暂不支持高德定位模块。
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Geolocation Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
// 使用百度地图地位模块获取位置信息
plus.geolocation.getCurrentPosition( function ( p ) {
alert( "Geolocation\nLatitude:" + p.coords.latitude + "\nLongitude:" + p.coords.longitude + "\nAltitude:" + p.coords.altitude );
}, function ( e ) {
alert( "Geolocation error: " + e.message );
},{provider:'baidu'});}
</script>
</head>
<body >
</body></html>
coordsType: (String 类型 )指定获取的定位数据坐标系类型
可取如下坐标系类型: “wgs84”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系; “bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系; provider为“system”时,默认使用“wgs84”类型;provider为“baidu”是,默认使用“bd09ll”类型。 若是设置的坐标系类型provider不支持,则返回错误。
geocode: (Boolean 类型 )是否解析地址信息
解析的地址信息保存到Position对象的address、addresses属性中,true表示解析地址信息,false表示不解析地址信息,返回的Position对象的address、addresses属性值为undefined,默认值为true。 若是解析地址信息失败则返回的Position对象的address、addresses属性值为null。
GeolocationError
JSON对象,定位错误信息
interface GeolocationError {
const Number PERMISSION_DENIED = 1;
const Number POSITION_UNAVAILABLE = 2;
const Number TIMEOUT = 3;
const Number UNKNOWN_ERROR = 4;
readonly attribute Number code;
readonly attribute String message;}
常量:
PERMISSION_DENIED: (Number 类型 )访问权限被拒绝
系统不容许程序获取定位功能,错误代码常量值为1。
POSITION_UNAVAILABLE: (Number 类型 )位置信息不可用
没法获取有效的位置信息,错误代码常量值为2。
TIMEOUT: (Number 类型 )获取位置信息超时
没法在指定的时间内获取位置信息,错误代码常量值为3。
UNKNOWN_ERROR: (Number 类型 )未知错误
其它未知错误致使没法获取位置信息,错误代码常量值为4。
属性:
code: (Number 类型 )错误代码
取值范围为GeolocationError对象的常量值。
message: (String 类型 )错误描述信息
详细错误描述信息。
GeolocationSuccessCallback
获取设备位置信息成功的回调函数
void onSuccess( position ) {
// Get Position code.}
参数:
position: ( Position ) 必选 设备的地理位置信息,参考Position
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Geolocation Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.geolocation.getCurrentPosition( function ( p ) {
alert( "Geolocation\nLatitude:" + p.coords.latitude + "\nLongitude:" + p.coords.longitude + "\nAltitude:" + p.coords.altitude );
console.log( "Geolocation info: " + JSON.stringify(p) );
}, function ( e ) {
console.log("Gelocation Error: code - "+e.code+"; message - "+e.message);
} );}
</script>
</head>
<body >
</body></html>
GeolocationErrorCallback
获取设备位置信息失败的回调函数
function void onGeolocationError( GeolocationError error ) {
// Handle error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息}
参数:
error: ( GeolocationError ) 必选 获取位置操做的错误信息
可经过error.code(Number类型)获取错误编码; 可经过error.message(String类型)获取错误描述信息。
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Geolocation Example</title>
<script type="text/javascript" >// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.geolocation.getCurrentPosition( function ( p ) {
console.log( "Geolocation\nLatitude:" + p.coords.latitude + "\nLongitude:" + p.coords.longitude + "\nAltitude:" + p.coords.altitude );
}, function ( e ) {
console.log("Gelocation Error: code - "+e.code+"; message - "+e.message);
switch(e.code) {
case e.PERMISSION_DENIED:
alert("User denied the request for Geolocation.");
break;
case e.POSITION_UNAVAILABLE:
alert("Location information is unavailable.");
break;
case e.TIMEOUT:
alert("The request to get user location timed out.");
break;
case e.UNKNOWN_ERROR:
alert("An unknown error occurred.");
break;
}
} );}
</script>
</head>
<body >
</body></html>
IO模块管理本地文件系统,用于对文件系统的目录浏览、文件的读取、文件的写入等操做。经过plus.io可获取文件系统管理对象。
常量:
PRIVATE_WWW: 应用运行资源目录常量
PRIVATE_DOC: 应用私有文档目录常量
PUBLIC_DOCUMENTS: 程序公用文档目录常量
PUBLIC_DOWNLOADS: 程序公用下载目录常量
方法:
requestFileSystem: 请求本地文件系统对象
resolveLocalFileSystemURL: 经过URL参数获取目录对象或文件对象
convertLocalFileSystemURL: 将本地URL路径转换成平台绝对路径
convertAbsoluteFileSystem: 将平台绝对路径转换成本地URL路径
对象:
DirectoryEntry: 文件系统中的目录对象,用于管理特定的本地目录
DirectoryReader: 读取目录信息对象,用于获取目录中包含的文件及子目录
File: 文件系统中的文件数据对象,用于获取文件的数据
FileEntry: 文件系统中的文件对象,用于管理特定的本地文件
FileReader: 文件系统中的读取文件对象,用于获取文件的内容
FileWriter: 文件系统中的写文件对象,用于写入文件内容
FileSystem: 文件系统对象,用于管理特定本地文件目录
Flags: JSON对象,获取文件操做的参数
Metadata: JSON对象,保存文件或目录的状态信息对象
FileEvent: 文件或目录操做事件对象
URLType: 文件路径类型
RelativeURL: 相对路径URL
LocalURL: 本地路径URL
RemoteURL: 网络路径URL
回调方法:
FileEventCallback: 文件事件回调
FileSystemSuccessCallback: 请求文件系统成功的回调函数
FileResolveSuccessCallback: 经过URL参数获取目录或文件对象成功的回调函数
MetadataSuccessCallback: 获取文件或目录状态信息成功的回调函数
EntrySuccessCallback: 操做文件或目录对象成功的回调函数
EntrysSuccessCallback: 操做文件或目录对象数组成功的回调函数
FileWriterSuccessCallback: 写文件操做成功的回调函数
FileSuccessCallback: 文件操做成功的回调函数
FileErrorCallback: 文件操做失败的回调函数
权限:
permissions
"File": {
"description": "访问本地文件系统"}
PRIVATE_WWW
应用运行资源目录常量
plus.io.PRIVATE_WWW;
说明:
Number 类型
本地文件系统常量,Number类型,固定值1。应用运行资源目录,仅本应用可访问。 为了确保应用资源的安全性,此目录只可读。
平台支持
Android - ALL (支持): Android平台应用资源是放到apk的assets目录中,安装到设备后没法枚举,为了可以正常枚举访问此目录,须要将应用设置为释放资源模式(在manifest.json中将runmode值设置为liberate),这样程序在第一次运行时将资源释放到sdcard中。 一般在设备上的目录为“/sdcard/Android/data/%PACKAGENAME%/.%APPID%/apps/%APPID%/www”,其中%PACKAGENAME%是程序的包名、%APPID%是应用的标识,如“/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/www”。
iOS - ALL (支持): iOS平台应用资源是放到应用的沙盒目录中,安装到设备后放到应用沙盒目录的“/DCloud_Pandora.app/Pandora/apps/%APPID%/www”,如“/DCloud_Pandora.app/Pandora/apps/HBuilder/www”。 如将应用设置为释放资源模式(在manifest.json中将runmode值设置为liberate),程序在第一次运行时将资源释放到应用沙盒目录下的Library中“/Library/Pandora/apps/%APPID%/www”,如“/Library/Pandora/apps/HBuilder/www”。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function( fs ) {
// 可经过fs操做PRIVATE_WWW文件系统
// ......
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );}
</script>
</head>
<body>
Local file system
</body></html>
PRIVATE_DOC
应用私有文档目录常量
plus.io.PRIVATE_DOC;
说明:
Number 类型
本地文件系统常量,Number类型,固定值2。应用私有文档目录,仅本应用可读写。
平台支持
Android - ALL (支持): 一般在设备上的目录为“/sdcard/Android/data/%PACKAGENAME%/.%APPID%/apps/%APPID%/doc”,其中%PACKAGENAME%是程序的包名、%APPID%是应用的标识,如“/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc”。
iOS - ALL (支持): 一般在设备应用沙盒目录下“/Library/Pandora/apps/%APPID%/doc”,其中%APPID%是应用的标识,,如“/Library/Pandora/apps/HBuilder/doc”。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_DOC, function( fs ) {
// 可经过fs操做PRIVATE_DOC文件系统
// ......
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );}
</script>
</head>
<body>
Local file system
</body></html>
PUBLIC_DOCUMENTS
程序公用文档目录常量
plus.io.PUBLIC_DOCUMENTS;
说明:
Number 类型
本地文件系统常量,Number类型,固定值3。程序公用文档目录,全部应用可读写。
平台支持
Android - ALL (支持): 一般在设备上的目录为“/sdcard/Android/data/%PACKAGENAME%/.%APPID%/documents”,其中%PACKAGENAME%是程序的包名、%APPID%是应用的标识,如“/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/documents”。
iOS - ALL (支持): 一般在设备应用沙盒目录下“/Library/Pandora/documents”。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.requestFileSystem( plus.io.PUBLIC_DOCUMENTS, function( fs ) {
// 可经过fs操做PUBLIC_DOCUMENTS文件系统
// ......
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );}
</script>
</head>
<body>
Local file system
</body></html>
PUBLIC_DOWNLOADS
程序公用下载目录常量
plus.io.PUBLIC_DOWNLOADS;
说明:
Number 类型
本地文件系统常量,Number类型,固定值4。程序公用下载目录,全部应用可读写。
平台支持
Android - ALL (支持): 一般在设备上的目录为“/sdcard/Android/data/%PACKAGENAME%/.%APPID%/downloads”,其中%PACKAGENAME%是程序的包名、%APPID%是应用的标识,如“/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/downloads”。
iOS - ALL (支持): 一般在设备应用沙盒目录下“/Library/Pandora/downloads”。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.requestFileSystem( plus.io.PUBLIC_DOWNLOADS, function( fs ) {
// 可经过fs操做PUBLIC_DOWNLOADS文件系统
// ......
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );}
</script>
</head>
<body>
Local file system
</body></html>
requestFileSystem
请求本地文件系统对象
void plus.io.requestFileSystem( type, succesCB, errorCB );
说明:
获取指定的文件系统,可经过type指定获取文件系统的类型。 获取指定的文件系统对象成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
type: ( Number ) 必选 本地文件系统常量
可取plus.io下的常量,如plus.io.PRIVATE_DOC、plus.io.PUBLIC_DOCUMENTS等。
succesCB: ( FileSystemSuccessCallback ) 必选 请求文件系统成功的回调
errorCB: ( FileErrorCallback ) 可选 请求文件系统失败的回调
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function( fs ) {
// 可经过fs进行文件操做
alert( "Request file system success!" );
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );}
</script>
</head>
<body>
Request file system
</body></html>
resolveLocalFileSystemURL
经过URL参数获取目录对象或文件对象
void plus.io.resolveLocalFileSystemURL( url, succesCB, errorCB );
说明:
快速获取指定的目录或文件操做对象,如经过URL值“_www/test.html”可直接获取文件操做对象。 url值可支持相对路径URL、本地路径URL、网络路径URL(http://localhost:13131/开头)。 获取指定的文件或目录操做对象成功经过succesCB回调返回,若是指定URL路径或文件不存在则失败经过errorCB回调返回。
参数:
url : ( DOMString ) 必选 要操做文件或目录的URL地址
succesCB: ( FileResolveSuccessCallback ) 必选 获取操做文件或目录对象成功的回调函数
errorCB: ( FileErrorCallback ) 可选 获取操做文件或目录对象失败的回调函数
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.resolveLocalFileSystemURL( "_www/test.html", function( entry ) {
// 可经过entry对象操做test.html文件
entry.file( function(file){
var fileReader = new plus.io.FileReader();
alert("getFile:" + JSON.stringify(file));
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
alert("11" + evt);
alert("evt.target" + evt.target);
alert(evt.target.result);
}
alert(file.size + '--' + file.name);
} );
}, function ( e ) {
alert( "Resolve file URL failed: " + e.message );
} );}
</script>
</head>
<body>
Request file system
</body></html>
convertLocalFileSystemURL
将本地URL路径转换成平台绝对路径
String plus.io.convertLocalFileSystemURL( url );
说明:
绝对路径符合各平台文件路径格式,一般用于Native.JS调用系统原生文件操做API,也能够在前面添加“file://”后在html页面中直接使用。
参数:
url: ( String ) 必选 要转换的文件或目录URL地址
URL地址必须是合法的路径,若是地址不合法则返回null。
返回值:
String : 转换后在平台路径,在不一样平台或者不一样设备返回的值可能存在差别,如输入url为“_doc/a.png”: Android平台转换后的路径为“/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/a.png”; 在iOS平台转换后的路径为“/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png”。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady(){
var url="_www/index.html";
var path=plus.io.convertLocalFileSystemURL(url);
alert(path);}
</script>
</head>
<body>
convertLocalFileSystemURL
</body></html>
convertAbsoluteFileSystem
将平台绝对路径转换成本地URL路径
String plus.io.convertAbsoluteFileSystem( path );
说明:
绝对路径符合各平台文件路径格式,转换后变成RelativeURL类型格式。 功能与convertLocalFileSystemURL方法相反,将绝对路径转换成相对路径。
参数:
path: ( String ) 必选 要转换的平台绝对路径
绝对路径必须是合法的路径,若是绝对路径不合法则返回null。
返回值:
DOMString : 转换后本地URL路径
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady(){
var url="_www/index.html";
var path=plus.io.convertLocalFileSystemURL(url);
var newurl = plus.io.convertAbsoluteFileSystem(path);
alert(newurl); // 显示值为“_www/index.html”}
</script>
</head>
<body>
convertAbsoluteFileSystem
</body></html>
DirectoryEntry
文件系统中的目录对象,用于管理特定的本地目录
属性:
isFile: 操做对象的是否为文件,DirectoryEntry对象固定其值为false
isDirectory: 操做对象是否为目录,DirectoryEntry对象固定其值为true
name: 目录操做对象的名称,不包括路径
fullPath: 目录操做对象的完整路径,文件系统的绝对路径
fileSystem: 文件操做对象所属的文件系统对象,参考FileSystem
方法:
getMetadata: 获取目录的属性
moveTo: 移动目录
copyTo: 拷贝目录
toURL: 获取目录路径转换为URL地址
toLocalURL: 获取目录路径转换为本地路径URL地址
toRemoteURL: 获取目录路径转换为网络路径URL地址
remove: 删除目录
getParent: 获取目录所属的父目录
createReader: 建立目录读取对象
getDirectory: 建立或打开子目录
getFile: 建立或打开文件
removeRecursively: 递归删除目录
isFile
操做对象的是否为文件,DirectoryEntry对象固定其值为false
说明:
Boolean 类型 只读属性
isDirectory
操做对象是否为目录,DirectoryEntry对象固定其值为true
说明:
Boolean 类型 只读属性
name
目录操做对象的名称,不包括路径
说明:
DOMString 类型 只读属性
fullPath
目录操做对象的完整路径,文件系统的绝对路径
说明:
DOMString 类型 只读属性
fileSystem
文件操做对象所属的文件系统对象,参考FileSystem
说明:
FileSystem 类型 只读属性
getMetadata
获取目录的属性
entry.getMetadata( successCB, errorCB, recursive );
说明:
用于获取文件或目录的属性信息。 获取属性信息成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( MetadataSuccessCallback ) 必选 获取文件或目录属性信息成功的回调
errorCB: ( FileErrorCallback ) 必选 获取文件或目录属性信息失败的回调
recursive: ( Boolean ) 必选 是否递归计算目录信息
true为递归计算获取信息,false不递归计算获取,默认值为false。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Request the metadata object for this entry
entry.getMetadata( function ( metadata ) {
plus.console.log("Last Modified: " + metadata.modificationTime);}, function () {
alert( e.message );} );
moveTo
移动目录
entry.moveTo( parent, newName, succesCB, errorCB );
说明:
如下状况移动目录将会致使失败: 将父目录移动到子目录中; 要移动到的目标目录无效; 要移动到的目标路径被文件占用; 要移动到的目标目录已经存在而且不为空。 移动目录成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
parent: ( DirectoryEntry ) 必选 要移动到的目标目录
newName: ( DOMString ) 可选 移动后的目录名称,默认为原始目录名称
succesCB: ( EntrySuccessCallback ) 可选 移动目录成功的回调函数
回调函数中的参数保存新的目录对象。
errorCB: ( FileErrorCallback ) 可选 移动目录失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
function moveDirecty(srcEntry,dstEntry) {
var newName = document.getElementById('newName').value,
// move the directory to a new directory and rename it
srcEntry.moveTo( dstEntry, newName, function( entry ) {
plus.console.log("New Path: " + entry.fullPath);
}, function ( e ) {
alert( e.message );
} );}
copyTo
拷贝目录
entry.copyTo( parent, newName, succesCB, errorCB );
说明:
如下状况拷贝目录将会致使失败: 将父目录拷贝到子目录中; 要拷贝到的目标目录无效; 要拷贝到的目标路径被文件占用; 要拷贝到的目标目录已经存在而且不为空。 拷贝目录成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
parent: ( DirectoryEntry ) 必选 要拷贝到的目标目录
newName: ( DOMString ) 可选 拷贝后的目录名称,默认为原始目录名称
succesCB: ( EntrySuccessCallback ) 可选 拷贝目录成功的回调函数
回调函数中的参数保存新的目录对象。
errorCB: ( FileErrorCallback ) 可选 拷贝目录失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
function copyDirecty(srcEntry,dstEntry){
var newName = document.getElementById('newName').value,
// copy the directory to a new directory and rename it
srcEntry.copyTo( dstEntry, newName, function( entry ){
plus.console.log("New Path: " + entry.fullPath);
}, function( e ){
alert( e.message );
} );}
toURL
获取目录路径转换为URL地址
DOMString entry.toURL();
参数:
返回值:
DOMString : 格式为相对路径URL
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the URL for this directoryvar dirURL = entry.toURL();
plus.console.log(dirURL);
toLocalURL
获取目录路径转换为本地路径URL地址
DOMString entry.toLocalURL();
参数:
返回值:
DOMString : 格式为本地路径URL
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the local URL for this directoryvar dirURL = entry.toLocalURL();
plus.console.log(dirURL);
toRemoteURL
获取目录路径转换为网络路径URL地址
DOMString entry.toRemoteURL();
参数:
返回值:
DOMString : URL地址格式为以“http://localhost:13131/”开头的网络路径。
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the remote URL for this directoryvar dirURL = entry.toRemoteURL();
plus.console.log(dirURL);
remove
删除目录
entry.remove( succesCB, errorCB );
说明:
如下状况删除目录将会致使失败: 目录中存在文件; 删除根目录; 删除目录成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( EntrySuccessCallback ) 可选 删除目录成功的回调函数
回调函数中无参数。
errorCB: ( FileErrorCallback ) 可选 删除目录失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// remove this directory
entry.remove( function ( entry ) {
plus.console.log( "Remove succeeded" );}, function ( e ) {
alert( e.message );} );
getParent
获取目录所属的父目录
entry.getParent( succesCB, errorCB );
说明:
获取父目录成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( EntrySuccessCallback ) 可选 获取父目录成功的回调函数
errorCB: ( FileErrorCallback ) 可选 获取父目录失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the parent DirectoryEntry
entry.getParent( function ( entry ) {
plus.console.log( "Parent Name: " + entry.name );}, function ( e ) {
alert( e.message );} );
createReader
建立目录读取对象
DirectoryReader entry.createReader();
说明:
建立一个目录读取对象,用户读取目下的文件及子目录。
参数:
返回值:
DirectoryReader : 目录读取对象
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// create a directory readervar directoryReader = entry.createReader();
getDirectory
建立或打开子目录
entry.getDirectory( path, flag, succesCB, errorCB );
说明:
建立或打开当前目录指定的目录。 建立或打开目录操做成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
path: ( DOMString ) 必选 要操做目录相对于当前目录的地址
flag: ( Flags ) 可选 要操做文件或目录的参数
succesCB: ( EntrySuccessCallback ) 可选 建立或打开目录成功的回调函数
errorCB: ( FileErrorCallback ) 可选 建立或打开目录失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Retrieve an existing directory, or create it if it does not already exist
entry.getDirectory( "newDir", {create:true,exclusive:false}, function( dir ){
console.log("Directory Entry Name: " + dir.name);}, function () {
alert( e.message );} );
getFile
建立或打开文件
entry.getFile( path, flag, succesCB, errorCB );
说明:
建立或打开当前目录下指定的文件。 建立或打开文件操做对象成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
path: ( DOMString ) 必选 要操做文件相对于当前目录的地址
flag: ( Flags ) 可选 要操做文件或目录的参数
succesCB: ( EntrySuccessCallback ) 可选 建立或打开文件成功的回调函数
errorCB: ( FileErrorCallback ) 可选 建立或打开文件失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>File Example</title><script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function(fs){
// fs.root是根目录操做对象DirectoryEntry
fs.root.getFile('config.xml',{create:true}, function(fileEntry){
fileEntry.file( function(file){
var fileReader = new plus.io.FileReader();
alert("getFile:" + JSON.stringify(file));
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
alert("11" + evt);
alert("evt.target" + evt.target);
alert(evt.target.result);
}
alert(file.size + '--' + file.name);
} );
});
} );}</script></head><body>
Request file system</body></html>
removeRecursively
递归删除目录
entry.removeRecursively( succesCB, errorCB );
说明:
删除目录将会删除其下的全部文件及子目录 不能删除根目录,若是操做删除根目录将会删除目录下的文件及子目录,不会删除根目录自身。 删除目录成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( EntrySuccessCallback ) 可选 删除目录成功的回调函数
回调函数中无参数。
errorCB: ( FileErrorCallback ) 可选 删除目录失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// remove the directory and all it's contents
entry.removeRecursively( function ( entry ) {
plus.console.log( "Remove Recursively Succeeded" );}, function ( e ) {
alert( e.message );} );
DirectoryReader
读取目录信息对象,用于获取目录中包含的文件及子目录
方法:
readEntries: 获取当前目录中的全部文件和子目录
readEntries
获取当前目录中的全部文件和子目录
directoryReader.readEntries( succesCB, errorCB );
说明:
获取当前目录下的全部文件和子目录。 获取操做成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( EntrySuccessCallback ) 可选 获取成功的回调函数
errorCB: ( FileErrorCallback ) 可选 获取失败的回调函数
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function(fs){
// fs.root是根目录操做对象DirectoryEntry
// 建立读取目录信息对象
var directoryReader = fs.root.createReader();
directoryReader.readEntries( function( entries ){
var i;
for( i=0; i < entries.length; i++ ) {
alert( entries[i].name );
}
}, function ( e ) {
alert( "Read entries failed: " + e.message );
} );
} );}
</script>
</head>
<body>
Request file system
</body></html>
File
文件系统中的文件数据对象,用于获取文件的数据
属性:
size: 文件数据对象的数据大小,单位为字节
type: 文件数据对象MIME类型
name: 文件数据对象的名称,不包括路径
lastModifiedDate: 文件对象的最后修改时间
方法:
slice: 获取文件指定的数据内容
close: 关闭文件数据对象
size
文件数据对象的数据大小,单位为字节
说明:
Number 类型 只读属性
type
文件数据对象MIME类型
说明:
DOMString 类型 只读属性
name
文件数据对象的名称,不包括路径
说明:
DOMString 类型 只读属性
lastModifiedDate
文件对象的最后修改时间
说明:
Date 类型 只读属性
slice
获取文件指定的数据内容
file.slice( start, end );
说明:
获取文件指定的数据内容,其中end必须大于start。
参数:
start: ( Number ) 可选 获取文件数据的其实位置
end: ( Number ) 可选 获取文件数据的结束位置
返回值:
File : 指定数据内容的文件对象
示例:
var slice1 = file.slice(100, 400);var slice2 = slice1.slice(20, 35);var slice3 = file.slice(120, 135);// slice2 and slice3 are equivalent.
close
关闭文件数据对象
file.close();
说明:
当文件数据对象再也不使用时,可经过此方法关闭,释放系统资源。
参数:
返回值:
void : 无
示例:
var slice1 = file.slice(100, 400);var slice2 = slice1.slice(20, 35);var slice3 = file.slice(120, 135);// slice2 and slice3 are equivalent.// ......
slice3.close();
FileEntry
文件系统中的文件对象,用于管理特定的本地文件
属性:
isFile: 文件操做对象的是否为文件,FileEntry对象固定其值为true
isDirectory: 文件操做对象是否为目录,FileEntry对象固定其值为false
name: 文件操做对象的名称,不包括路径
fullPath: 文件操做对象的完整路径,文件系统的绝对路径
fileSystem: 文件操做对象所属的文件系统对象,参考FileSystem
方法:
getMetadata: 获取文件的属性信息
moveTo: 移动文件
copyTo: 拷贝文件
toURL: 获取文件路径转换为URL地址
toLocalURL: 获取文件路径转换为本地路径URL地址
toRemoteURL: 获取文件路径转换为网络路径URL地址
remove: 删除文件
getParent: 获取文件所属的父目录
createWriter: 获取文件关联的写文件操做对象FileWriter
file: 获取文件数据对象
isFile
文件操做对象的是否为文件,FileEntry对象固定其值为true
说明:
Boolean 类型 只读属性
isDirectory
文件操做对象是否为目录,FileEntry对象固定其值为false
说明:
Boolean 类型 只读属性
name
文件操做对象的名称,不包括路径
说明:
DOMString 类型 只读属性
fullPath
文件操做对象的完整路径,文件系统的绝对路径
说明:
DOMString 类型 只读属性
fileSystem
文件操做对象所属的文件系统对象,参考FileSystem
说明:
FileSystem 类型 只读属性
getMetadata
获取文件的属性信息
entry.getMetadata( successCB, errorCB );
说明:
用于获取文件的属性信息。 获取属性信息成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( MetadataSuccessCallback ) 必选 获取文件属性信息成功的回调函数
errorCB: ( FileErrorCallback ) 必选 获取文件属性信息失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Request the metadata object for this entry
entry.getMetadata( function ( metadata ) {
plus.console.log("Last Modified: " + metadata.modificationTime);}, function () {
alert( e.message );} );
moveTo
移动文件
entry.moveTo( parent, newName, succesCB, errorCB );
说明:
如下状况移动目录将会致使失败: 要移动到的目标目录无效; 要移动到的目标路径被其它文件占用; 移动文件成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
parent: ( DirectoryEntry ) 必选 要移动到的目标目录
newName: ( DOMString ) 可选 移动后的文件名称,默认为原始文件名称
succesCB: ( EntrySuccessCallback ) 可选 移动文件成功的回调函数
回调函数中的参数保存新的文件对象。
errorCB: ( FileErrorCallback ) 可选 移动文件失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
function moveFile(fileEntry,dstEntry){
// move the file to a new directory and rename it
fileEntry.moveTo( dstEntry, "newfile.txt", function( entry ){
plus.console.log("New Path: " + entry.fullPath);
}, function( e ){
alert( e.message );
} );}
copyTo
拷贝文件
entry.copyTo( parent, newName, succesCB, errorCB );
说明:
如下状况拷贝文件将会致使失败: 要拷贝到的目标目录无效; 要拷贝到的目标路径被其它文件占用; 拷贝文件成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
parent: ( DirectoryEntry ) 必选 要拷贝到的目标目录
newName: ( DOMString ) 可选 拷贝后的文件名称,默认为原始文件名称
succesCB: ( EntrySuccessCallback ) 可选 拷贝文件成功的回调函数
回调函数中的参数保存新的文件对象。
errorCB: ( FileErrorCallback ) 可选 拷贝文件失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
function copyFile(fileEntry,dstEntry) {
// copy the file to a new directory and rename it
fileEntry.copyTo( dstEntry, "file.copy", function( entry ){
plus.console.log("New Path: " + entry.fullPath);
}, function( e ){
alert( e.message );
} );}
toURL
获取文件路径转换为URL地址
DOMString entry.toURL();
参数:
返回值:
DOMString : 格式为相对路径URL
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the URL for this filevar fileURL = entry.toURL();
plus.console.log(fileURL);
toLocalURL
获取文件路径转换为本地路径URL地址
DOMString entry.toLocalURL();
参数:
返回值:
DOMString : 格式为本地路径URL
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the local URL for this filevar fileURL = entry.toLocalURL();
plus.console.log(dirURL);
toRemoteURL
获取文件路径转换为网络路径URL地址
DOMString entry.toRemoteURL();
说明:
URL地址格式为以“http://localhost:13131/”开头的网络路径。
参数:
无
返回值:
DOMString : 网络格式路径URL
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the remote URL for this filevar fileURL = entry.toRemoteURL();
plus.console.log(dirURL);
remove
删除文件
entry.remove( succesCB, errorCB );
说明:
删除文件成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( EntrySuccessCallback ) 可选 删除文件成功的回调函数
回调函数中无参数。
errorCB: ( FileErrorCallback ) 可选 删除文件失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// remove this file
entry.remove( function ( entry ) {
plus.console.log( "Remove succeeded" );}, function ( e ) {
alert( e.message );} );
getParent
获取文件所属的父目录
entry.getParent( succesCB, errorCB );
说明:
获取父目录成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( EntrySuccessCallback ) 可选 获取父目录成功的回调函数
errorCB: ( FileErrorCallback ) 可选 获取父目录失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the parent DirectoryEntry
entry.getParent( function ( entry ) {
plus.console.log( "Parent Name: " + entry.name );}, function ( e ) {
alert( e.message );} );
createWriter
获取文件关联的写文件操做对象FileWriter
entry.createWriter( succesCB, errorCB );
说明:
获取写文件操做对象成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( FileWriterSuccessCallback ) 可选 获取写文件操做对象成功的回调函数
errorCB: ( FileErrorCallback ) 可选 获取写文件操做对象失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// create a FileWriter to write to the file
entry.createWriter( function ( writer ) {
// Write data to file.
writer.write( "Data " );}, function ( e ) {
alert( e.message );} );
file
获取文件数据对象
entry.file( succesCB, errorCB );
说明:
获取文件数据对象成功经过succesCB回调返回,失败则经过errorCB返回。
参数:
succesCB: ( FileSuccessCallback ) 可选 获取文件数据对象成功的回调函数
errorCB: ( FileErrorCallback ) 可选 获取文件数据对象失败的回调函数
返回值:
void : 无
平台支持:
Android - 2.2+ (支持)
iOS - 4.3+ (支持)
示例:
// Get the parent DirectoryEntry
entry.file( function ( file ) {
plus.console.log("File size: " + file.size);}, function ( e ) {
alert( e.message );} );
FileReader
文件系统中的读取文件对象,用于获取文件的内容
说明:
FileReader对象是从设备文件系统读取文件FileReader对象是从设备文件系统读取文件的一种方式,文件以文本或者Base64编码的字符串形式读出来。 用户注册本身的事件监听器来接收loadstart、progress、load、loadend、error和abort事件。
构造:
FileReader: 建立读取文件对象
常量:
EMPTY: 值为0,开始读取文件状态
LOADING: 值为1,正在读取文件状态
DONE: 值为2,读文件操做完成状态
属性:
readyState: 当前读取文件所处的状态
result: 已读取文件的内容
error: 文件操做错误代码
方法:
abort: 终止文件读取操做
readAsDataURL: 以URL编码格式读取文件数据内容
readAsText: 以文本格式读取文件数据内容
事件:
onloadstart: 读取文件开始时的回调函数
onprogress: 读取文件过程当中的回调函数
onload: 读取文件成功完成的回调函数
onabort: 取消读取文件时的回调函数
onerror: 文件读取操做失败时调用的回调函数
onloadend: 文件读取操做完成时的回调函数
FileReader
建立读取文件对象
说明:
建立读取文件对象
参数:
无
返回值:
EMPTY
值为0,开始读取文件状态
说明:
Number 类型
LOADING
值为1,正在读取文件状态
说明:
Number 类型
DONE
值为2,读文件操做完成状态
说明:
Number 类型
readyState
当前读取文件所处的状态
说明:
Number 类型 只读属性
可取上面定义的常量值,EMPTY(0)、LOADING(1)、DONE(2)。
result
已读取文件的内容
说明:
DOMString 类型 只读属性
error
文件操做错误代码
说明:
Number 类型 只读属性
abort
终止文件读取操做
reader.abort();
说明:
读取文件操做开始后,可经过此方法取消读取文件。 调用此方法后将触发文件读取对象的onabort事件。
参数:
返回值:
void : 无
示例:
// Read data from filevar reader = null;
entry.file( function ( file ) {
reader = new plus.io.FileReader();
reader.onloadend = function ( e ) {
plus.console.log( "Read success" );
// Get data
plus.console.log( e.target.result );
};
reader.readAsText( file );}, function ( e ) {
alert( e.message );} );
// ......// Abort read data from file
reader.abort();
readAsDataURL
以URL编码格式读取文件数据内容
reader.readAsDataURL( file, encoding );
说明:
读取文件的数据内容,并将数据内容进行URL编码。
参数:
file: ( File ) 必选 要读取的文件数据对象
encoding : ( DOMString ) 可选 读取文件数据内容的字符编码格式
目前仅支持UTF-8编码格式。
返回值:
void : 无
示例:
// Read data from filevar reader = null;
entry.file( function ( file ) {
reader = new plus.io.FileReader();
reader.onloadend = function ( e ) {
plus.console.log( "Read success" );
// Get data
plus.console.log( e.target.result );
};
reader.readAsDataURL( file );}, function ( e ) {
alert( e.message );} );
readAsText
以文本格式读取文件数据内容
reader.readAsText( file, encoding );
说明:
读取文件的数据内容。
参数:
file: ( File ) 必选 要读取的文件数据对象
encoding : ( DOMString ) 可选 读取文件数据内容的字符编码格式
目前仅支持UTF-8编码格式。
返回值:
void : 无
示例:
// Read data from filevar reader = null;
entry.file( function ( file ) {
reader = new plus.io.FileReader();
reader.onloadend = function ( e ) {
plus.console.log( "Read success" );
// Get data
plus.console.log( e.target.result );
};
reader.readAsText( file );}, function ( e ) {
alert( e.message );} );
onloadstart
读取文件开始时的回调函数
说明:
onprogress
读取文件过程当中的回调函数
说明:
用于获取文件读取进度。
onload
读取文件成功完成的回调函数
说明:
onabort
取消读取文件时的回调函数
说明:
onerror
文件读取操做失败时调用的回调函数
说明:
onloadend
文件读取操做完成时的回调函数
说明:
无论成功或失败都会触发。
FileWriter
文件系统中的写文件对象,用于写入文件内容
说明:
FileWriter对象是从设备文件系统写入文件FileWriter对象是从设备文件系统写入文件的一种方式,用户注册本身的事件监听器来接收writestart、progress、write、writeend、error和abort事件。 一个FileWriter对象是为单个文件的操做而建立。你可使用该对象屡次对相应文件进行写入操做。FileWriter维护该文件的指针位置及长度属性,这样你就能够寻找和写入文件的任何地方。 默认状况下,FileWriter从文件的开头开始写入(将覆盖现有数据)。FileWriter对象的seek方法可设置文件操做指定位置,如fw.seek(fw.length-1)写入操做就会从文件的末尾开始。
常量:
INIT: 值为0,写文件初始化状态
WRITING: 值为1,正在写入文件状态
DONE: 值为2,写文件操做完成状态
属性:
readyState: 当前写入文件所处的状态
length: 文件当前的长度,单位为字节
position: 文件当前操做的指针位置
error: 文件写入操做错误代码
方法:
abort: 终止文件写入操做
seek: 定位文件操做位置
truncate: 按照指定长度截断文件
write: 向文件中写入数据
事件:
onwritestart: 写入文件开始时的回调函数
onprogress: 写入文件过程当中的回调函数
onwrite: 写入文件成功完成的回调函数
onabort: 取消写入文件时的回调函数
onerror: 文件写入操做失败时调用的回调函数
onwriteend: 文件写入操做完成时的回调函数
INIT
值为0,写文件初始化状态
说明:
Number 类型
WRITING
值为1,正在写入文件状态
说明:
Number 类型
DONE
值为2,写文件操做完成状态
说明:
Number 类型
readyState
当前写入文件所处的状态
说明:
Number 类型 只读属性
可取上面定义的常量值,INIT(0)、WRITING(1)、DONE(2)。
length
文件当前的长度,单位为字节
说明:
Number 类型 只读属性
position
文件当前操做的指针位置
说明:
Number 类型 只读属性
error
文件写入操做错误代码
说明:
Number 类型 只读属性
abort
终止文件写入操做
writer.abort();
说明:
写入文件数据操做开始后,可经过此方法取消写入文件数据操做。 调用此方法后将触发文件写入对象的onabort事件。
参数:
返回值:
void : 无
示例:
// Write data to filevar w = null;
entry.createWriter( function ( writer ) {
w = writer;
// fast forwards file pointer to end of file
writer.seek( writer.length-1 );}, function ( e ) {
alert( e.message );} );
// ......// Abort write data to file
w.abort();
seek
定位文件操做位置
writer.seek( position );
说明:
定位文件的操做位置,有效值为0到文件的总长度减1。 0表示文件的起始位置。
参数:
position: ( Number ) 必选 要定位到的位置
返回值:
void : 无
示例:
// Write data to filevar w = null;
entry.createWriter( function ( writer ) {
w = writer;
// fast forwards file pointer to end of file
writer.seek( writer.length-1 );}, function ( e ) {
alert( e.message );} );
truncate
按照指定长度截断文件
writer.truncate( length );
说明:
从文件当前定位的位置开始,按照指定长度截断文件。
参数:
length : ( Number ) 必选 截断后的文件长度
返回值:
void : 无
示例:
// Truncate file
entry.createWriter( function ( writer ) {
// Truncate file data length to 100
writer.truncate( 100 );}, function ( e ) {
alert( e.message );} );
write
向文件中写入数据
writer.write( data );
说明:
从文件当前定位的位置开始,写入数据到文件中。 若是文件中已经存在数据,新写入的数据将覆盖已有数据。
参数:
data : ( DOMString ) 必选 要写入的数据内容
返回值:
void : 无
示例:
// Write data to file
entry.createWriter( function ( writer ) {
writer.onwrite = function ( e ) {
plus.console.log( "Write data success!" );
};
// Write data to the end of file.
writer.seek( writer.length );
writer.write( "New data!" );}, function ( e ) {
alert( e.message );} );
onwritestart
写入文件开始时的回调函数
说明:
onprogress
写入文件过程当中的回调函数
说明:
用于获取文件读取进度。
onwrite
写入文件成功完成的回调函数
说明:
onabort
取消写入文件时的回调函数
说明:
onerror
文件写入操做失败时调用的回调函数
说明:
onwriteend
文件写入操做完成时的回调函数
说明:
无论成功或失败都会触发。
FileSystem
文件系统对象,用于管理特定本地文件目录
说明:
文件系统对象表示一个应用可访问的根目录。name属性用于标识此根目录的名称,与LocalFileSystem中的文件系统类型一一对应。root属性为文件目录对象,用于实际操做文件系统,参考DirectoryEntry。
属性:
name: 文件系统的名称
root: 文件系统的根目录
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>File Example</title>
<script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,如今能够正常调用扩展APIfunction onPlusReady() {
plus.io.requestFileSystem( plus.io.PRIVATE_WWW, function( fs ) {
// 可经过fs进行文件操做
alert( "File system name: " + fs.name );
// 经过fs.root获取DirectoryEntry对象进行操做
// fs.root
}, function ( e ) {
alert( "Request file system failed: " + e.message );
} );}
</script>
</head>
<body>
Request file system
</body></html>
name
文件系统的名称
说明:
DOMString 类型 只读属性
值为文件系统类型常量值字符串,如“PRIVATE_WWW”、“PRIVATE_DOCUMENTS”。
root
文件系统的根目录
说明:
DirectoryEntry 类型 只读属性
Flags
JSON对象,获取文件操做的参数
属性:
create: (Boolean 类型 )是否建立对象标记
指示若是文件或目录不存在时是否进行建立,默认值为false。
exclusive: (Boolean 类型 )反向操做标记
其自己没有任何效果,需与create属性值设置为true时一块儿使用,若是目标文件或目录已经存在则会致使文件或目录打开失败,默认值为false。
Metadata
JSON对象,保存文件或目录的状态信息对象
说明:
可经过DirectoryEntry或FileEntry对象的getMetaData方法获取
属性:
modificationTime: (Date 类型 )文件或目录的最后修改时间
size: (Number 类型 )文件的大小
若获取的是目录对象的属性则值为0。
directoryCount: (Number 类型 )包含的子目录数
若自身是文件则其值为0。
fileCount: (Number 类型 )目录的文件数
若自身是文件则其值为0。
FileEvent
文件或目录操做事件对象
说明:
全部文件或目录操做事件回调函数中都建立该对象的实例。 该对象从DOMEvent继承而来,可经过该其target属性获取事件触发的文件或目录操做对象。
属性:
target: (DirectoryEntry 类型 )文件或目录操做对象
在不一样的回调中指向的对象不一样,可指向的对象包括:FileEntry、DirectoryEntry、FileReader、FileWriter。
URLType
文件路径类型
说明:
在文件系统中的文件路径需转换成URL格式,已方便runtime快速加载。
RelativeURL
相对路径URL
说明:
只能在扩展API中使用,相对于基座提供的特定目录,以“_”开头。
常量:
"_www": (DOMString 类型 )应用资源目录
保存应用的全部html、css、js等资源文件,与文件系统中根目录PRIVATE_WWW一致,后面加相对路径如“_www/res/icon.png”。 注意:应用资源目录是只读目录,只能读取次目录下的文件,不能修改或新建。
"_doc": (DOMString 类型 )应用私有文档目录
用于保存应用运行期业务逻辑数据,与文件系统中根目录PRIVATE_DOCUMENTS,如“_doc/userdata.xml”。
"_documents": (DOMString 类型 )程序公用文档目录
用于保存程序中各应用间可共享文件的目录,与文件系统中根目录PUBLIC_DOCUMENTS,如“_document/share.doc”。
"_downloads": (DOMString 类型 )程序公用下载目录
用于保存程序下载文件的目录,与文件系统中根目录PUBLIC_DOWNLOADS,如“_download/mydoc.doc”。
LocalURL
本地路径URL
说明:
可在html页面中直接访问本地资源,以“file:///”开头,后面跟随系统的绝对路径。 如示例:“file:///D:/res/hello.html”。
RemoteURL
网络路径URL
说明:
可在html页面中以网络资源模式访问本地资源,以“http://”开头,后面跟随相对路径。 如示例:“http://localhost:13131/_www/res/icon.png”,其中“_www”字段可支持类型与相对路径URL一致。
FileEventCallback
文件事件回调
void onEvent( event ) {
// Event code.}
说明:
文件或目录操做回调事件。 一般在FileReader和FileWriter对象的事件函数中触发。
参数:
event: ( FileEvent ) 必选 文件事件对象
返回值:
void : 无
FileSystemSuccessCallback
请求文件系统成功的回调函数
void onSuccess( fs ) {
// File System operate code.}
参数:
fs: ( FileSystem ) 必选 请求到的文件系统对象
返回值:
void : 无
FileResolveSuccessCallback
经过URL参数获取目录或文件对象成功的回调函数
void onSuccess( entry ) {
// File or Direcory entry operate code.}
参数:
entry: ( DirectoryEntry ) 必选 请求到的目录或文件对象
可指向文件或目录对象(DirectoryEntry|FileEntry)。
返回值:
void : 无
MetadataSuccessCallback
获取文件或目录状态信息成功的回调函数
void onSuccess( metadata ) {
// Metadata code.}
参数:
metadata: ( Metadata ) 必选 文件或目录的状态信息
返回值:
void : 无
EntrySuccessCallback
操做文件或目录对象成功的回调函数
void onSuccess( entry ) {
// Entry code.}
参数:
entry: ( DirectoryEntry ) 必选 文件或目录对象的引用
可指向文件或目录对象(DirectoryEntry|FileEntry)。
返回值:
void : 无
EntrysSuccessCallback
操做文件或目录对象数组成功的回调函数
void onSuccess( entrys ) {
// Entrys code.}
参数:
entrys: ( DirectoryEntry ) 必选 文件或目录对象数组
可指向文件或目录对象数组(DirectoryEntry[]|FileEntry[])。
返回值:
void : 无
FileWriterSuccessCallback
写文件操做成功的回调函数
void onSuccess( writer ) {
// FileWriter code.}
参数:
writer: ( FileWriter ) 必选 写文件对象的引用
返回值:
void : 无
FileSuccessCallback
文件操做成功的回调函数
void onSuccess( file ) {
// file code.}
参数:
file: ( File ) 必选 文件数据对象的引用
返回值:
void : 无
FileErrorCallback
文件操做失败的回调函数
void onError( error ) {
// Error code.}
参数:
error: ( DOMException ) 必选 文件操做失败的信息
返回值:
void : 无
Key管理设备按键事件
方法:
addEventListener: 添加按键事件监听器
removeEventListener: 移除按键事件监听器
对象:
KeyType: 按键类型
KeyEvent: 按键事件
回调方法:
KeyEventCallback: 按键事件的回调函数
addEventListener
添加按键事件监听器
plus.key.addEventListener( keyevent, listener, capture );
说明:
添加按键事件监听器,当指定的按键事件发生时,回调函数将触发。 应用中存在多个Webview窗口时,按照窗口的显示栈顺序从后往前查找,查找到添加按键事件监听器的窗口后中止(中断前面Webview窗口对按键事件的监听),并向窗口触发执行按键回调事件。 在同一Webview窗口中可屡次调用此方法对同一事件添加多个监听器,触发时按照添加的顺序前后调用。
参数:
event: ( KeyType ) 必选 要监听的按键事件类型
listener: ( KeyEventCallback ) 必选 监听按键事件发生时调用的回调函数
capture: ( Boolean ) 可选 捕获按键事件流顺序,暂做为保留参数
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Key Example</title>
<script type="text/javascript">// 监听“返回”按钮事件function addEventTest() {
plus.key.addEventListener("backbutton",function(){
alert( "BackButton Key pressed!" );
});}
</script>
</head>
<body>
<button onclick="addEventTest()">监听“返回”按键</button>
</body></html>
removeEventListener
移除按键事件监听器
plus.key.removeEventListener( event, listener );
说明:
从窗口移除指定的事件监听器。若没有查找到对应的事件监听器,则无任何做用。
参数:
event: ( KeyType ) 必选 要移除的事件类型
listener: ( KeyEventCallback ) 必选 要移除回调函数对象
返回值:
void : 无
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Key Example</title>
<script type="text/javascript">function onback(){
alert( "BackButton Key pressed!" );}// 监听“返回”按钮事件function addEventTest() {
plus.key.addEventListener("backbutton",onback);}// 取消监听“返回”按钮事件function removeEventTest(){
plus.key.removeEventListener("backbutton",onback);}
</script>
</head>
<body>
<button onclick="addEventTest()">监听“返回”按键</button>
<button onclick="removeEventTest()">取消监听“返回”按键</button>
</body></html>
KeyType
按键类型
常量:
"backbutton": (String 类型 )设备“返回”按钮按键事件
若是须要改变默认“返回”按钮的处理逻辑,则可经过plus.key.addEventListener来注册监听"backbutton"事件。
平台支持
Android - 2.2+ (支持): 默认处理逻辑为退出应用。
"keydown": (String 类型 )键按下事件
若是须要改变默认键按下的处理逻辑,则可经过plus.key.addEventListener来注册监听"keydown"事件。 可经过回调函数中KeyEvent对象的keyCode来获取按下的键值。
平台支持
Android - 2.2+ (支持): 默认处理逻辑由系统决定。
"keyup": (String 类型 )键松开事件
若是须要改变默认键松开的处理逻辑,则可经过plus.key.addEventListener来注册监听"keyup"事件。 可经过回调函数中KeyEvent对象的keyCode来获取松开的键值。
平台支持
Android - 2.2+ (支持): 默认处理逻辑由系统决定。
"longpressed": (String 类型 )长按键事件
若是须要改变默认长按键的处理逻辑,则可经过plus.key.addEventListener来注册监听"longpressed"事件。 长按键时会屡次触发回调函数,经过回调函数中KeyEvent对象的keyCode来获取长按的键值。
平台支持
Android - 2.2+ (支持): 默认处理逻辑由系统决定。
"menubutton": (String 类型 )设备“菜单”按钮按键事件
若是须要改变默认“菜单”按钮的处理逻辑,则可经过plus.key.addEventListener来注册监听"menubutton"事件。
平台支持
Android - 2.2+ (支持): 默认处理逻辑无操做。
"searchbutton": (String 类型 )设备“搜索”按钮按键事件
若是须要改变默认“搜索”按钮的处理逻辑,则可经过plus.key.addEventListener来注册监听"searchbutton"事件。
平台支持
Android - 2.2+ (支持): 默认处理逻辑为打开系统搜索应用。
"volumeupbutton": (String 类型 )设备“音量+”按钮按键事件
若是须要改变默认“音量+”按钮的处理逻辑,则可经过plus.key.addEventListener来注册监听"volumeupbutton"事件。
平台支持
Android - 2.2+ (支持): 默认处理逻辑为增长系统音量。
"volumedownbutton": (String 类型 )设备“音量-”按钮按键事件
若是须要改变默认“音量-”按钮的处理逻辑,则可经过plus.key.addEventListener来注册监听"volumedownbutton"事件。
平台支持
Android - 2.2+ (支持): 默认处理逻辑为减小系统音量。
KeyEvent
按键事件
属性:
keyCode: 触发按键事件的键值
keyType: 按键事件类型
keyCode
触发按键事件的键值
说明:
Number 类型
键值由各系统平台定义,一些特殊按键在不一样的设备上可能存在差别。
示例:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>Key Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
// 监听键按下事件
plus.key.addEventListener("keydown",function(e){
console.log("keydown: "+e.keyCode);
},false);
// 监听键松开事件
plus.key.addEventListener("keyup",function(e){
console.log("keyup: "+e.keyCode);
},false);
// 监听长按键事件
plus.key.addEventListener("longpressed",function(e){
console.log("longpressed: "+e.keyCode);
},false);}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
</head>
<body>
监听键事件<br/>
</body></html>
keyType
按键事件类型
说明:
KeyType 类型
用于代表触发此按键事件的类型,值为KeyType中定义的值。
KeyEventCallback
按键事件的回调函数
void onKeyEvent( KeyEvent event ){
// Event handled code.
var key=event.keyCode; // 用户按键的键值}
参数:
event: ( KeyEvent ) 必选 监听用户按键操做返回的数据
可经过event的keyCode属性(String类型)获取用户按键的类型,参考KeyType类型。
返回值:
void : 无
Maps模块管理地图控件,用于在web页面中显示地图控件,提供各类接口操做地图控件,如添加标点、路线等。经过plus.maps可获取地图管理对象。
方法:
openSysMap: 调用系统第三方程序进行导航
对象:
Map: 地图控件对象
MapOptions: 地图对象的参数
GeocodeOptions: 地理编码转换的参数
CoordinateConvertOptions: 地图坐标转换的参数
Point: Point对象用于表示地图元素的坐标
Bounds: 地理区域
MapType: 地图视图类型
Overlay: 地图覆盖物基类对象
Marker: 地图上显示的标点对象
Bubble: 地图上显示的气泡对象
Circle: 地图上显示的圆圈对象
Polyline: 地图上显示的折线对象
Polygon: 地图上显示的多边形对象
Search: 地图检索对象
SearchPolicy: 检索策略类型
SearchPoiResult: 保存位置检索、周边检索和范围检索返回的结果
SearchRouteResult: 保存位置检索、周边检索和范围检索返回的结果
Position: 检索结果的位置点
Route: 地图中的路线对象
回调方法:
GeocodeCallback: 地理编码转换成功的回调函数
CoordinateConvertCallback: 坐标转换成功的回调函数
DistanceCalculateCallback: 距离计算成功的回调函数
AreaCalculateCallback: 地理区域面积计算成功的回调函数
UserLocationCallback: 获取用户当前位置信息成功回调
ClickEventHandler: 用户点击地图回调事件
StatusChangedEventHandler: 地图状态变化回调事件
OverlayClickEventHandler: 用户点击地图覆盖物回调事件
OverlayDragEventHandler: 用户拖拽覆盖物回调事件
PoiSearchCallback: 兴趣点检索完成事件
RouteSearchCallback: 线路检索完成事件
SuccessCallback: 地图操做成功回调函数
ErrorCallback: 地图操做失败的回调函数
权限:
permissions
"Maps": {
"description": "访问地图插件"}
openSysMap
调用系统第三方程序进行导航
plus.maps.openSysMap( dst, des, src );
参数:
dst: ( Point ) 必选 导航目的地坐标
要求使用WGS-84坐标系值,即GPS获取的值。
des: ( DOMString ) 必选 导航目的地描述
要求使用WGS-84坐标系,即GPS获取的值。
src: ( Point ) 必选 导航起始地描述
返回值:
void : 无
示例:
// 设置目标位置坐标点和其实位置坐标点var dst = new plus.maps.Point(116.39131928,39.90793074); // 天安门 var src = new plus.maps.Point(116.335,39.966); // 大钟寺// 调用系统地图显示
plus.maps.openSysMap( dst, "天安门", src );
Map
地图控件对象
构造:
Map(id,options): 建立Map对象
方法:
geocode: 静态方法,地理编码
reverseGeocode: 静态方法,反向地理编码
convertCoordinates: 静态方法,坐标转换
calculateDistance: 静态方法,计算距离
calculateArea: 静态方法,计算面积
centerAndZoom: 设置地图初始中心点和缩放级别
setCenter: 设置地图的中心点
getCenter: 获取地图中心点
setZoom: 设置地图的缩放级别
getZoom: 获取地图的缩放级别
reset: 重置地图
setMapType: 设置地图的视图类型
getMapType: 获取地图的显示类型
setTraffic: 是否打开地图交通讯息图层
isTraffic: 获取是否打开地图交通讯息图层
showUserLocation: 显示用户位置
isShowUserLocation: 获取是否显示用户位置
showZoomControls: 设置是否显示地图内置缩放控件
isShowZoomControls: 获取是否显示地图内置缩放控件
addOverlay: 向地图中添加覆盖物
removeOverlay: 从地图中删除覆盖物对象
clearOverlays: 清除地图中全部覆盖物对象
getUserLocation: 获取用户的当前位置信息
getCurrentCenter: 获取当前地图显示的地图中心点位置
getBounds: 获取当前地图可视范围的地理区域
show: 显示地图控件
hide: 隐藏地图控件
事件:
onclick: 用户点击地图事件
onstatuschanged: 地图状态改变事件
Map(id,options)
建立Map对象
var ptObj = new plus.maps.Map( id );
说明:
Map对象是经过DOM树中的节点进行定位,在构造时需传入一个DOM元素id,地图控件将会自动保持与DOM元素位置和大小彻底一致。
参数:
id: ( String ) 必选 地图控件所占位的DOM节点(一般为div)的id
options: ( MapOptions ) 可选 地图控件的初始化参数
返回值:
Map : Map地图控件对象
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 0px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
<div id="map">地图加载中...</div>
</body></html>
geocode
静态方法,地理编码
void plus.maps.Map.geocode( address, options, successCallback, errorCallback );
说明:
将地理位置信息转换为坐标点。 转换成功经过successCallback返回,转换失败则经过errorCallback返回。
参数:
address: ( String ) 必选 要转换的地理位置信息
越详细的地址信息越容易转换,如XX路XX号XX大厦。
options: ( GeocodeOptions ) 可选 地理编码的参数
successCallback: ( GeocodeCallback ) 可选 地理编码转换成功回调
地理编码转换成功时触发,并返回转换后的坐标信息。
errorCallback: ( ErrorCallback ) 可选 地理编码转换失败回调
地理编码转换失败时触发,并返回错误信息。
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
plus.maps.Map.geocode("海淀区大钟寺地铁站",{city:"北京"},function(event){
var address = event.address; // 转换后的地理位置
var point = event.coord; // 转换后的坐标信息
var coordType = event.coordType; // 转换后的坐标系类型
alert("Coord:"+JSON.stringify(point));
},function(e){
alert("Failed:"+JSON.stringify(e));
});}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
地理编码<br/>
</body></html>
reverseGeocode
静态方法,反向地理编码
void plus.maps.Map.reverseGeocode( point, options, successCallback, errorCallback );
说明:
将坐标点转换为地理位置信息。 转换成功经过successCallback返回,转换失败则经过errorCallback返回。
参数:
point: ( Point ) 必选 要转换的坐标
options: ( GeocodeOptions ) 可选 地理编码的参数
successCallback: ( GeocodeCallback ) 可选 反向地理编码转换成功回调
反向地理编码转换成功时触发,并返回转换后的地址位置信息。
errorCallback: ( ErrorCallback ) 可选 反向地理编码转换失败回调
反向地理编码转换失败时触发,并返回错误信息。
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
var point = new plus.maps.Point(116.347496,39.970191);
plus.maps.Map.reverseGeocode(point,{},function(event){
var address = event.address; // 转换后的地理位置
var point = event.coord; // 转换后的坐标信息
var coordType = event.coordType; // 转换后的坐标系类型
alert("Address:"+address);
},function(e){
alert("Failed:"+JSON.stringify(e));
});}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
反向地理编码<br/>
</body></html>
convertCoordinates
静态方法,坐标转换
void plus.maps.Map.convertCoordinates( point, options, successCallback, errorCallback );
说明:
将第三方坐标系坐标转换成当前地图的坐标系坐标。 转换成功经过successCallback返回,转换失败则经过errorCallback返回。
参数:
point: ( Point ) 必选 要转换的坐标
options: ( CoordinateConvertOptions ) 可选 坐标转换的参数
successCallback: ( CoordinateConvertCallback ) 可选 坐标转换成功回调
坐标转换成功时触发,并返回转后的坐标值。
errorCallback: ( ErrorCallback ) 可选 坐标转换失败回调
坐标转换失败时触发,并返回错误信息。
返回值:
void : 无
平台支持:
Android - 2.3+ (支持): 仅百度地图支持此功能。
iOS - 5.1+ (支持): 仅百度地图支持此功能。
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
var point = new plus.maps.Point(116.3447905236,39.9663258208);
plus.maps.Map.convertCoordinates(point,{},function(event){
var point = event.coord; // 转换后的坐标值
var coordType = event.coordType; // 转换后的坐标系类型
alert("Success:"+JSON.stringify(event));
},function(e){
alert("Failed:"+JSON.stringify(e));
});}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
坐标转换<br/>
</body></html>
calculateDistance
静态方法,计算距离
void plus.maps.Map.calculateDistance( pointStart, pointEnd, successCallback, errorCallback );
说明:
计算从pointStart坐标点到pointEnd坐标的实际直线距离,单位为米(m)。
参数:
pointStart: ( Point ) 必选 起点的坐标
pointEnd: ( Point ) 可选 终点的坐标
successCallback: ( DistanceCalculateCallback ) 可选 计算距离成功回调
距离计算成功时触发,并返回计算的距离值。
errorCallback: ( ErrorCallback ) 可选 计算距离失败回调
距离计算失败时触发,并返回错误信息。
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">// H5 plus事件处理function plusReady(){
var point1 = new plus.maps.Point(116.351442,39.972614);
var point2 = new plus.maps.Point(116.340788,39.973319)
plus.maps.Map.calculateDistance(point1,point2,function(event){
var distance = event.distance; // 转换后的距离值
alert("Distance:"+distance);
},function(e){
alert("Failed:"+JSON.stringify(e));
});}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
计算距离<br/>
</body></html>
calculateArea
静态方法,计算面积
void plus.maps.Map.calculateArea( bounds, successCallback, errorCallback );
说明:
计算指定地理区域的面积,单位为平方米。 注:此功能仅百度地图支持,高德地图暂不支持此功能。
参数:
bounds: ( Bounds ) 必选 要计算的地理区域
successCallback: ( AreaCalculateCallback ) 可选 计算地理区域面积成功回调
地理区域面积计算成功时触发,并返回计算的面积值。
errorCallback: ( ErrorCallback ) 可选 计算面积失败回调
地理区域面积计算失败时触发,并返回错误信息。
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 获取当前地图显示的地理区域面积function calculateArea(){
var bounds = map.getBounds();
plus.maps.Map.calculateArea( bounds, function(event){
var area = event.area; // 计算后的面积值
alert("Area:"+area);
}, function(e){
alert("Failed:"+JSON.stringify(e));
} );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
计算面积<br/>
<button onclick="calculateArea()">获取地理区域面积</button>
<div id="map">地图加载中...</div>
</body></html>
centerAndZoom
设置地图初始中心点和缩放级别
void mapObj.centerAndZoom( center, zoom );
说明:
用于设置地图的初始中心点和缩放级别,一般在建立地图后当即调用。 默认中心点为天安门,默认缩放级别为12; 该方法设置的中心点和缩放级别可经过reset()方法恢复; 若是在地图显示后调用将改变地图的中心点和缩放级别并当即更新,并将初始值更新。
参数:
center: ( Point ) 必选 地图初始化的中心点坐标
zoom: ( Number ) 必选 地图初始化的缩放级别
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 0px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
<div id="map">地图加载中...</div>
</body></html>
setCenter
设置地图的中心点
void mapObj.setCenter( center );
说明:
此方法用于设置地图的中心点,用于切换当前显示地图位置。 该方法改变中心点后地图显示内容将当即更新; 该方法不会改变地图显示的缩放级别。
参数:
center: ( Point ) 必选 要切换到的中心点坐标
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 设置地图的中心点function setCenter(){
var center = new plus.maps.Point( 118.123, 35.456 );
map.setCenter( center );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
设置地图的中心点<br/>
<button onclick="setCenter()">SetCenter</button>
<div id="map">地图加载中...</div>
</body></html>
getCenter
获取地图中心点
Point mapObj.getCenter();
说明:
结束指定的持续事件统计,需先调用eventStart方法开始持续事件统计,触发的事件必需要先在统计网站上注册事件ID。
参数:
无
返回值:
Point : 地图中心点坐标
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 获取地图的中心点function getCenter(){
var center = map.getCenter();
alert( JSON.stringify(center) );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
获取地图中心点<br/>
<button onclick="getCenter()">GetCenter</button>
<div id="map">地图加载中...</div>
</body></html>
setZoom
设置地图的缩放级别
void mapObj.setZoom( zoom );
说明:
此方法用于设置地图的缩放级别,用于切换当前显示地图缩放级别。 该方法改变缩放级别后地图显示内容将当即更新; 该方法不会改变地图显示区域,以当前地图显示的中心点位置来缩放地图。
参数:
zoom: ( Number ) 必选 要设置的新的缩放级别,其有效范围为1-22
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 设置地图的缩放级别function setZoom(){
map.setZoom( 22 );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
设置地图的缩放级别<br/>
<button onclick="setZoom()">SetZoom</button>
<div id="map">地图加载中...</div>
</body></html>
getZoom
获取地图的缩放级别
Number mapObj.getZoom();
说明:
此方法用于设置地图的缩放级别,用于切换当前显示地图缩放级别。 该方法改变缩放级别后地图显示内容将当即更新; 该方法不会改变地图显示区域,以当前地图显示的中心点位置来缩放地图。
参数:
无
返回值:
Number : 地图视图的缩放级别
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 获取地图的缩放级别function getZoom(){
alert( map.getZoom() );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
获取地图的缩放级别<br/>
<button onclick="getZoom()">GetZoom</button>
<div id="map">地图加载中...</div>
</body></html>
reset
重置地图
void mapObj.reset();
说明:
此方法用于从新设置地图,恢复地图的初始化时的中心点和缩放级别。 该方法将致使显示内容将当即更新。
参数:
无
返回值:
Number : 地图视图的缩放级别
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 重置地图function resetMap(){
map.reset();}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
重置地图 - 用户操做移动、缩放地图后重置上次设置的中心点和缩放级别<br/>
<button onclick="resetMap()">Reset</button>
<div id="map">地图加载中...</div>
</body></html>
setMapType
设置地图的视图类型
void mapObj.setMapType( type );
说明:
此方法用于设置地图类型,默认为普通街道视图。
参数:
type: ( MapType ) 必选 要设置的地图的显示模式,参考maps.MapType的常量说明
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 街道视图function normalMap(){
map.setMapType( plus.maps.MapType.MAPTYPE_NORMAL );}// 卫星视图function stelliteMap(){
map.setMapType( plus.maps.MapType.MAPTYPE_SATELLITE );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
设置地图类型<br/>
<button onclick="normalMap()">街道视图</button>
<button onclick="stelliteMap()">卫星视图</button>
<div id="map">地图加载中...</div>
</body></html>
getMapType
获取地图的显示类型
void mapObj.getMapType();
参数:
无
返回值:
MapType : 地图视图的显示类型
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 获取地图的显示类型function getMapType(){
alert(map.getMapType()==plus.maps.MapType.MAPTYPE_SATELLITE?"卫星视图":"街道视图" );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
设置地图类型<br/>
<button onclick="getMapType()">视图类型</button>
<div id="map">地图加载中...</div>
</body></html>
setTraffic
是否打开地图交通讯息图层
void mapObj.setTraffic( traffic );
说明:
此方法用于设置是否打开地图交通讯息图层,默认不显示。 该方法改变是否显示交通图层后地图显示内容将当即更新。
参数:
traffic: ( Boolean ) 必选 设置是否显示交通讯息图层
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 打开地图交通讯息图层function showTraffic(){
map.setTraffic( true );}// 关闭地图交通讯息图层function hideTraffic(){
map.setTraffic( false );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
设置是否打开地图交通讯息图层<br/>
<button onclick="showTraffic()">显示交通讯息</button>
<button onclick="hideTraffic()">关闭交通讯息</button>
<div id="map">地图加载中...</div>
</body></html>
isTraffic
获取是否打开地图交通讯息图层
Boolean mapObj.isTraffic();
参数:
无
返回值:
Boolean : 地图中显示交通讯息图层则返回true,不然返回false。
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 打开地图交通讯息图层function showTraffic(){
map.setTraffic( true );}// 关闭地图交通讯息图层function hideTraffic(){
map.setTraffic( false );}// 获取是否打开地图交通讯息图层function isTraffic(){
alert( map.isTraffic() );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
获取是否打开地图交通讯息图层<br/>
<button onclick="showTraffic()">显示交通讯息</button>
<button onclick="hideTraffic()">关闭交通讯息</button><br/>
<button onclick="isTraffic()">是否显示交通讯息</button>
<div id="map">地图加载中...</div>
</body></html>
showUserLocation
显示用户位置
void mapObj.showUserLocation( display );
说明:
此方法将在地图上显示用户位置信息。 显示用户位置将打开定位设备。
参数:
display: ( Boolean ) 必选 是否显示用户位置
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 打开用户位置function showUserLocation(){
map.showUserLocation( true );}// 关闭用户位置function hideUserLocation(){
map.showUserLocation( false );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
显示用户位置<br/>
<button onclick="showUserLocation()">显示用户位置</button>
<button onclick="hideUserLocation()">关闭用户位置</button>
<div id="map">地图加载中...</div>
</body></html>
isShowUserLocation
获取是否显示用户位置
Boolean mapObj.isShowUserLocation();
参数:
无
返回值:
Boolean : 地图中显示用户位置则返回true,不然返回false。
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 打开用户位置function showUserLocation(){
map.showUserLocation( true );}// 关闭用户位置function hideUserLocation(){
map.showUserLocation( false );}// 获取是否打开用户位置function isUserLocation(){
alert( map.isShowUserLocation() );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
获取是否显示用户位置<br/>
<button onclick="showUserLocation()">显示用户位置</button>
<button onclick="hideUserLocation()">关闭用户位置</button><br/>
<button onclick="isUserLocation()">是否显示用户位置</button>
<div id="map">地图加载中...</div>
</body></html>
showZoomControls
设置是否显示地图内置缩放控件
void mapObj.showZoomControls( display );
说明:
此方法将在地图上显示内置缩放控件。
参数:
display: ( Boolean ) 必选 是否显示地图内置缩放控件
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 打开用户位置function showZoomControls(){
map.showZoomControls( true );}// 关闭用户位置function hideZoomControls(){
map.showZoomControls( false );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
设置是否显示地图内置缩放控件<br/>
<button onclick="showZoomControls()">显示缩放控件</button>
<button onclick="hideZoomControls()">关闭缩放控件</button><br/>
<div id="map">地图加载中...</div>
</body></html>
isShowZoomControls
获取是否显示地图内置缩放控件
Boolean mapObj.isShowZoomControls();
参数:
无
返回值:
Boolean : 地图中已显示内置缩放控件则返回true,不然返回false
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 打开用户位置function showZoomControls(){
map.showZoomControls( true );}// 关闭用户位置function hideZoomControls(){
map.showZoomControls( false );}// 获取是否打开用户位置function isZoomControls(){
alert( map.isShowZoomControls() );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
获取是否显示地图内置缩放控件<br/>
<button onclick="showZoomControls()">显示缩放控件</button>
<button onclick="hideZoomControls()">关闭缩放控件</button><br/>
<button onclick="isZoomControls()">是否显示缩放控件</button>
<div id="map">地图加载中...</div>
</body></html>
addOverlay
向地图中添加覆盖物
Boolean mapObj.addOverlay( overlay );
说明:
此方法用于向地图中添加覆盖物。 支持各类从maps.Overlay对象继承的各类覆盖物对象; 若是添加不支持的对象则直接返回false; 同一覆盖物对象只能添加到地图中一次,已在地图中的覆盖物再次添加时则返回false。
参数:
overlay: ( Overlay ) 必选 在地图中要添加覆盖物
返回值:
Boolean : 添加成功返回true,失败返回false。
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 添加标点var marker=null;function addMarker(){
if(marker){return;}
marker=new plus.maps.Marker(new plus.maps.Point(116.347496,39.970191));
marker.setIcon("/logo.png");
marker.setLabel("HBuilder");
var bubble = new plus.maps.Bubble("打造最好的HTML5移动开发工具");
marker.setBubble(bubble);
map.addOverlay(marker);}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
向地图中添加覆盖物<br/>
<button onclick="addMarker()">添加标点</button>
<div id="map">地图加载中...</div>
</body></html>
removeOverlay
从地图中删除覆盖物对象
void mapObj.removeOverlay( overlay );
说明:
此方法用于从地图中删除覆盖物对象。 支持各类从maps.Overlay对象继承的各类覆盖物对象。
参数:
overlay: ( Overlay ) 必选 须要从地图中删除的覆盖物对象
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 添加标点var marker=null;function addMarker(){
if(marker){return;}
marker=new plus.maps.Marker(new plus.maps.Point(116.347496,39.970191));
marker.setIcon("/logo.png");
marker.setLabel("HBuilder");
var bubble = new plus.maps.Bubble("打造最好的HTML5移动开发工具");
marker.setBubble(bubble);
map.addOverlay(marker);}// 删除标点function removeMarker(){
map.removeOverlay(marker);
delete marker;
marker=null;}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
向地图中添加覆盖物<br/>
<button onclick="addMarker()">添加标点</button>
<button onclick="removeMarker()">删除标点</button><br/>
<div id="map">地图加载中...</div>
</body></html>
clearOverlays
清除地图中全部覆盖物对象
void mapObj.clearOverlays();
说明:
此方法用于清除地图中全部覆盖物对象。 清除地图中的覆盖物对象后会自动更新地图视图。
参数:
无
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.347496,39.970191), 18 );
addMarker();}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 添加标点var markers=[],i=0;function addMarker(){
var marker=new plus.maps.Marker(new plus.maps.Point(116.347496+0.001*i,39.970191+0.001*i));
marker.setIcon("/logo.png");
marker.setLabel("HBuilder");
var bubble = new plus.maps.Bubble("打造最好的HTML5移动开发工具");
marker.setBubble(bubble);
map.addOverlay(marker);
markers.push(marker);
i++;}// 清除全部标点function clearMarker(){
map.clearOverlays();
markers=[];}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
清除地图中全部覆盖物对象<br/>
<button onclick="addMarker()">添加标点</button>
<button onclick="clearMarker()">清除标点</button><br/>
<div id="map">地图加载中...</div>
</body></html>
getUserLocation
获取用户的当前位置信息
Boolean mapObj.getUserLocation( callback );
说明:
此方法用于获取用户的当前位置信息,获取成功后经过callback回调返回。 获取用户当前位置信息将打开定位设备。
参数:
callback: ( UserLocationCallback ) 必选 获取用户当前位置信息完成后执行的通知操做结果方法,回调函数中返回的point信息为当前用户位置的坐标
返回值:
Boolean : 执行获取操做成功则返回true,必定会执行通知结果方法;不然返回false。
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 获取用户的当前位置信息function getUserLocation(){
map.getUserLocation( function ( state, point ){
if( 0 == state ){
alert( JSON.stringify(point) );
}else{
alert( "Failed!" );
}
} );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
获取用户的当前位置信息<br/>
<button onclick="getUserLocation()">获取位置</button>
<div id="map">地图加载中...</div>
</body></html>
getCurrentCenter
获取当前地图显示的地图中心点位置
Boolean mapObj.getCurrentCenter( callback );
说明:
此方法用于获取当前地图显示的地图中心点位置,获取成功后经过callback回调返回。
参数:
callback: ( UserLocationCallback ) 必选 获取当前地图显示的地图中心点位置完成后执行的通知操做结果方法,在回调函数中返回的point信息为当前地图中心点坐标
返回值:
Boolean : 执行获取操做成功则返回true,必定会执行通知结果方法;不然返回false。
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 获取当前地图显示的地图中心点位置function getCurrentCenter(){
map.getCurrentCenter( function ( state, point ){
if( 0 == state ){
alert( JSON.stringify(point) );
}else{
alert( "Failed!" );
}
} );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
获取当前地图显示的地图中心点位置<br/>
<button onclick="getCurrentCenter()">获取中心位置</button>
<div id="map">地图加载中...</div>
</body></html>
getBounds
获取当前地图可视范围的地理区域
Bounds mapObj.getBounds();
说明:
当旋转或俯视时,是当前地图可视范围的最大外接矩形地理区域。
参数:
无
返回值:
Bounds : 获取到
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 获取当前地图显示的地理区域function getCurrentBounds(){
alert( JSON.stringify(map.getBounds()) );}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
获取当前地图显示的地理区域<br/>
<button onclick="getCurrentBounds()">获取地理区域</button>
<div id="map">地图加载中...</div>
</body></html>
show
显示地图控件
void mapObj.show();
说明:
此方法用于显示地图控件,一般在隐藏后调用此方法来显示。 若是地图已经显示再调用此方法将无效果。
参数:
无
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 显示地图function showMap(){
map.show();}// 隐藏地图function hideMap(){
map.hide();}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
显示地图控件<br/>
<button onclick="showMap()">显示地图</button>
<button onclick="hideMap()">隐藏地图</button>
<div id="map">地图加载中...</div>
</body></html>
hide
隐藏地图控件
void mapObj.hide();
说明:
此方法用于隐藏地图控件,一般在显示后调用此方法来隐藏。 若是地图已经隐藏再调用此方法将无效果。
参数:
无
返回值:
void : 无
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);// 显示地图function showMap(){
map.show();}// 隐藏地图function hideMap(){
map.hide();}
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
隐藏地图控件<br/>
<button onclick="showMap()">显示地图</button>
<button onclick="hideMap()">隐藏地图</button>
<div id="map">地图加载中...</div>
</body></html>
onclick
用户点击地图事件
mapObj.onclick = function ( point ) {
// JS code.}
说明:
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
map.onclick = function( point ){
alert( JSON.stringify(point) );
}}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
用户点击地图事件<br/>
<div id="map">地图加载中...</div>
</body></html>
onstatuschanged
地图状态改变事件
mapObj.onstatuschanged = function( event ){
// JS code.}
说明:
用户拖动、缩放地图等操做完成后触发。
示例:
<!DOCTYPE HTML><html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Map Example</title>
<script type="text/javascript">var em=null,map=null;// H5 plus事件处理function plusReady(){
// 确保DOM解析完成
if(!em||!window.plus||map){return};
map = new plus.maps.Map("map");
map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
map.onstatuschanged = function( e ){
alert( "StatusChanged: "+JSON.stringify(e) );
}}if(window.plus){
plusReady();}else{
document.addEventListener("plusready",plusReady,false);}// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
em=document.getElementById("map");
plusReady();},false);
</script>
<style type="text/css">#map {
width: 100%;
position: fixed;
top: 100px;
bottom: 0px;
line-height: 200px;
text-align: center;
background: #FFFFFF;}
</style>
</head>
<body>
地图状态改变事件<br/>用户拖动或缩放时触发。
<div id="map">地图加载中...</div>
</body></html>
MapOptions
地图对象的参数
说明:
设置地图对象初始化显示时使用的属性参数。
属性:
center: (Point 类型 )地图的中心位置
未设置则使用地图的默认中心点(由地图供应商肯定)。
zoom: (Number 类型 )地图的缩放级别
有效范围为1-22,默认值为12,设置无效的值则使用默认值。
type: (MapType 类型 )地图的视图类型
可设置普通街道视图、卫星视图,默认值为普通街道视图。
traffic: (Boolean 类型 )地图的是否显示交通讯息
true表示显示地图的交通讯息图层,false则不显示,默认值为false。
zoomControls: (Boolean 类型 )是否显示地图的内置缩放控件
true表示显示地图的内置缩放控件,false则不显示,默认值为false。
GeocodeOptions
地理编码转换的参数
属性:
coordType: (String 类型 )源数据的坐标系类型
仅在反向地理编码转换时生效。 “wgs84”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系; “bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系; 默认使用wgs84坐标系。
city: (String 类型 )源地址所属的城市
仅在地理编码转换时生效,若是不指定则在全国范围内区配转换。
CoordinateConvertOptions
地图坐标转换的参数
属性:
coordType: (String 类型 )源数据的坐标系类型
“wgs84”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系; “bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系; 默认使用wgs84坐标系。
Point
Point对象用于表示地图元素的坐标
说明:
经常使用语对地图上元素进行定位时使用。
构造:
Point(lng,lat): 建立Point对象
方法:
setLng: 设置坐标点的经度
getLng: 获取坐标的经度
setLat: 设置坐标的纬度
getLat: 获取坐标的纬度
equals: 判断两个坐标点是否相等
Point(lng,lat)
建立Point对象
var ptObj = new plus.maps.Point( lng, lat );
参数:
lng: ( Number ) 必选 坐标的经度
lat: ( Number ) 必选 坐标的纬度
返回值:
Point : 建立的坐标对象
示例:
// 建立地图坐标对象var pt1 = new plus.maps.Point( 116.123, 36.456 );