Html5+ 技术规范 (上)

 

 

Html5+ 技术规范

(上)

 

2016-03-01


 

修订历史:

类型

日期

作者

里程碑版本号

章节

备注

创建

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

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、EAN13、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、EAN13、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 }
                                                                                            

说明:

BarcodeSuccessCallback 类型

扫描控件识别到有效的条码数据时触发的成功事件,并返回扫描结果。

onerror

条码识别错误事件

void obj.onerror = function ( error ) {
               // loaded code }
                                                                                            

说明:

BarcodeErrorCallback 类型

描控件识别过程中发生错误时触发的失败事件,并返回错误信息。

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

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

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

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

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

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

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

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

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

创建读取文件对象

说明:

创建读取文件对象

参数:

返回值:

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

读取文件开始时的回调函数

说明:

FileEventCallback 类型

onprogress

读取文件过程中的回调函数

说明:

FileEventCallback 类型

用于获取文件读取进度。

onload

读取文件成功完成的回调函数

说明:

FileEventCallback 类型

onabort

取消读取文件时的回调函数

说明:

FileEventCallback 类型

onerror

文件读取操作失败时调用的回调函数

说明:

FileEventCallback 类型

onloadend

文件读取操作完成时的回调函数

说明:

FileEventCallback 类型

不管成功或失败都会触发。

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

写入文件开始时的回调函数

说明:

FileEventCallback 类型

onprogress

写入文件过程中的回调函数

说明:

FileEventCallback 类型

用于获取文件读取进度。

onwrite

写入文件成功完成的回调函数

说明:

FileEventCallback 类型

onabort

取消写入文件时的回调函数

说明:

FileEventCallback 类型

onerror

文件写入操作失败时调用的回调函数

说明:

FileEventCallback 类型

onwriteend

文件写入操作完成时的回调函数

说明:

FileEventCallback 类型

不管成功或失败都会触发。

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

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

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.}
                                                                                            

说明:

ClickEventHandler 类型

示例:

<!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.}
                                                                                            

说明:

StatusChangedEventHandler 类型

用户拖动、缩放地图等操作完成后触发。

示例:

<!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 );
                                                                                            

setLng

设置坐标点的经度

void ptObj.setLng( lng );
                                                                                            

参数:

lng: ( Number ) 必选 要设置坐标的经度

返回值:

void : 无

getLng

获取坐标的经度

Number ptObj.getLng();
                                                                                            

参数:

返回值:

Number : 坐标的经度

setLat

设置坐标的纬度

void ptObj.setLat( lat );
                                                                                            

参数:

返回值:

void : 无

getLat

获取坐标的纬度

Number ptObj.getLat();
                                                                                            

参数:

返回值:

Number : 坐标的纬度

equals

判断两个坐标点是否相等

Boolean ptObj.equals( Point pt );
                                                                                            

参数:

pt: ( Point ) 必选 要比较的坐标对象

返回值:

Boolean : 坐标对象是否相等,相等则返回true,否则返回false。

示例:

var pt1 = new plus.maps.Point( 116.123, 36.456 );var pt2 = new plus.maps.Point( 117.234, 37.567 );var pt3 = new plus.maps.Point( 117.789, 36.456 );
alert( pt1.equals(pt2) ); // 提示false
alert( pt1.equals(pt3) ); // 提示false
                                                                                            

Bounds

地理区域

说明:

有西南及东北坐标点数据组成的矩形区域。

构造:

Bounds(northease,southwest): 创建Bounds对象

Bounds(nelng,nelat,swlng,swlat): 创建Bounds对象

方法:

getNorthEase: 地理区域的东北坐标点

getSouthWest: 地理区域的西南坐标点

Bounds(northease,southwest)

创建Bounds对象

var bounds = new plus.maps.Bounds( northease, southwest );
                                                                                            

参数:

northease: ( Point ) 必选 东北坐标点

southwest: ( Point ) 必选 西南坐标点

返回值:

Bounds : 创建的Bounds对象

示例:

// 创建地理区域对象var bounds = new plus.maps.Bounds( new plus.maps.Point(116.123,36.456), new plus.maps.Point(116.111,36.401) );
                                                                                            

Bounds(nelng,nelat,swlng,swlat)

创建Bounds对象

var bounds = new plus.maps.Bounds( nelng, nelat, swlng, swlat );
                                                                                            

参数:

nelng: ( Number ) 必选 东北坐标点的经度值

nelat: ( Number ) 必选 东北坐标点的纬度值

swlng: ( Number ) 必选 西南坐标点的经度值

swlat: ( Number ) 必选 西南坐标点的纬度值

返回值:

Bounds : 创建的Bounds对象

示例:

// 创建地理区域对象var bounds = new plus.maps.Bounds( 116.123, 36.456, 116.111, 36.401 );
                                                                                            

getNorthEase

地理区域的东北坐标点

Point bounds.getNorthEase();
                                                                                            

参数:

返回值:

Point : 东北坐标点

getSouthWest

地理区域的西南坐标点

Point bounds.getSouthWest();
                                                                                            

参数:

返回值:

Point : 西南坐标点

MapType

地图视图类型

常量:

MAPTYPE_NORMAL: (Number 类型 )普通街道视图类型

地图视图类型常量,普通街道视图。

 

MAPTYPE_SATELLITE: (Number 类型 )卫星视图

地图视图类型常量,卫星视图。

 

Overlay

地图覆盖物基类对象

interface Overlay {
               function Boolean isVisible();
               function void show();
               function void hide();}
                                                             

说明:

Overlay是地图上显示元素的基类,用于抽象地图元素,不用于实例化。

方法:

isVisible: 判断地图覆盖物是否可见

show: 显示地图上的覆盖物

hide: 隐藏地图上的覆盖物

isVisible

判断地图覆盖物是否可见

Boolean overlayObj.isVisible();
                                                                                            

说明:

地图覆盖物对象默认为可见;地图覆盖物对象是否可见由其自身状态决定,不管其是否被添加到地图层中。

参数:

返回值:

Boolean : 覆盖物在地图上可见则返回true,否则返回false。

show

显示地图上的覆盖物

void overlayObj.show();
                                                                                            

说明:

常用于地图覆盖物在隐藏后调用此方法来显示。 只有添加到地图上的覆盖物才能看到效果; 如果覆盖物对象已经在地图上显示再调用此方法将无效果。

参数:

返回值:

void : 无

hide

隐藏地图上的覆盖物

void overlayObj.show();
                                                                                            

说明:

常用于地图覆盖物在显示后调用此方法来隐藏。 只有添加到地图上的覆盖物才能看到效果; 如果覆盖物对象已经在地图上隐藏再调用此方法将无效果。

参数:

返回值:

void : 无

Marker

地图上显示的标点对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

Marker( point ): 创建地图标点Marker对象

方法:

bringToTop: 覆盖物显示到最上层

setPoint: 设置标点对象的坐标

getPoint: 获取标点的坐标

setIcon: 设置标点上显示的图标

setIcons: 设置标点上显示的图标数组

setLabel: 设置标点上显示的文本标注

getLabel: 获取标点上显示的文本标注

setBubble: 设置标点的气泡内容

getBubble: 获取标点上显示的文本标注

hideBubble: 隐藏标点上显示的气泡

setDraggable: 设置标点的是否允许拖拽

isDraggable: 获取标点是否允许拖拽

事件:

onclick: 用户点击地图标点事件

ondrag: 用户点击地图标点事件

Marker( point )

创建地图标点Marker对象

var markObj = new plus.maps.Marker( point );
                                                                                            

参数:

point: ( Point ) 必选 地图标点的坐标信息

返回值:

Marker : 创建好的地图标点对象

示例:

 
               var 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);
                                                                                            

bringToTop

覆盖物显示到最上层

void overlayObj.bringToTop();
                                                                                            

说明:

常用于覆盖物相互覆盖时调整覆盖物的显示顺序。 只有添加到地图上的覆盖物才能看到效果; 如果覆盖物对象已经在地图上隐藏再调用此方法将无效果。

参数:

返回值:

void : 无

平台支持:

Android - 2.3+ (支持)

iOS - 5.1+ (不支持): 调用此API无任何效果。

setPoint

设置标点对象的坐标

void markObj.setPoint( point );
                                                                                            

说明:

标点在设置新坐标后将在地图上立即更新标点位置。

参数:

point: ( Point ) 必选 要设置标点的坐标

返回值:

void : 无

getPoint

获取标点的坐标

Point markObj.getPoint();
                                                                                            

参数:

返回值:

Point : 标点的坐标对象

setIcon

设置标点上显示的图标

void markObj.setIcon( icon );
                                                                                            

说明:

若未设置则显示默认标点图标,已添加的标点在设置新值后将在地图上立即更新标点内容。

参数:

icon: ( DOMString ) 必选 要设置标点图标的URL地址
仅支持本地图标URL地址,支持png、jpg/jpeg、bmp格式。

返回值:

void : 无

setIcons

设置标点上显示的图标数组

void markObj.setIcons( icons, period );
                                                                                            

说明:

设置图标数组后则按照指定的间隔时间轮播数组中图标。 设置图标数组后将忽略setIcon方法设置的图标,未设置则显示setIcon设置的图标。

参数:

icons: ( Array[ String ] ) 必选 要设置标点图标数组
图标数组中仅支持本地图标URL地址,支持png、jpg/jpeg、bmp格式。 注:所有图片应该使用统一的分辨率,否则可能会显示不正常。

返回值:

void : 无

setLabel

设置标点上显示的文本标注

void markObj.setLabel( label );
                                                                                            

说明:

若未设置则不显示标注(默认为空字符串),已添加的标点在设置新值后将在地图上立即更新标点内容。

参数:

label: ( DOMString ) 必选 要设置标点的标注文字

返回值:

void : 无

getLabel

获取标点上显示的文本标注

DOMString markObj.getLabel();
                                                                                            

参数:

返回值:

DOMString : 标点的标注文本内容

setBubble

设置标点的气泡内容

void markObj.setBubble( buuble, pop );
                                                                                            

说明:

设置气泡内容后,用户点击标点时弹出则弹出气泡。 注意:用户点击标点时先弹出标点关联的气泡,再响应标点的onclick事件。

参数:

buuble: ( Bubble ) 必选 要设置标点关联的气泡对象

pop: ( Boolean ) 可选 是否默认弹出气泡
true表示弹出显示气泡,false表示不弹出显示气泡(当用户点击时才弹出),默认值为false。 当添加标点时自动弹出显示气泡,如果已经添加标点则调用setBubble时弹出显示气泡。

返回值:

void : 无

getBubble

获取标点上显示的文本标注

Bubble markObj.getBubble();
                                                                                            

说明:

如果没有设置关联的气泡对象则返回null。

参数:

返回值:

Bubble : 标点关联的气泡对象

hideBubble

隐藏标点上显示的气泡

void markObj.hideBubble();
                                                                                            

说明:

如果没有设置关联的气泡对象或者气泡对象没有弹出显示,则不做任何操作。

参数:

返回值:

void : 无

setDraggable

设置标点的是否允许拖拽

void markObj.setDraggable( draggable );
                                                                                            

说明:

设置标点可拖拽后,用户按住标点后拖动,标点会跟随手的拖拽而移动。 拖拽后会更新标点的坐标信息。 注:拖动前需要先在标点上长按。

参数:

draggable: ( Boolean ) 必选 要设置标点是否可拖拽
true表示标点可拖拽,false表示标点不可拖拽,默认值为false。

返回值:

void : 无

isDraggable

获取标点是否允许拖拽

Boolean markObj.isDraggable();
                                                                                            

参数:

返回值:

Boolean : true表示标点可拖拽,false表示标点不可拖拽

onclick

用户点击地图标点事件

 
markObj.onclick = function ( marker ) {
               // Click code.}
                                                                                            

说明:

OverlayClickEventHandler 类型

示例:

// 用户点击标点将弹出标点上的文本 
markObj.onclick = function ( marker ) {
               alert( "Clicked:" + markObj.getLabel() );}
                                                                                            

ondrag

用户点击地图标点事件

 
markObj.onclick = function ( event ) {
               // Click code.
               var marker = event.target;  // 获取拖拽的标点对象}
                                                                                            

说明:

OverlayDragEventHandler 类型

平台支持:

Android - 2.3+ (支持)

iOS - 5.1+ (不支持): 不触发此事件。

示例:

// 用户点击标点将弹出标点上的文本 
markObj.onclick = function ( event ) {
               alert( "Drag:" + JSON.stringify(event.target.getPoint()) );}
                                                                                            

Bubble

地图上显示的气泡对象

说明:

此对象不能直接添加到地图上显示,只可关联到地图标点覆盖物上,用户点击标点时弹出显示。

构造:

Bubble( label ): 创建气泡对象

方法:

setIcon: 设置气泡上显示的图标

setLabel: 设置气泡上显示的文字内容

getLabel: 获取气泡上显示的文字内容

belongMarker: 获取气泡所属的标点对象

loadImage: 从图片加载气泡显示的内容

loadImageDataURL: 从图片数据加载气泡显示的内容

事件:

onclick: 用户点击气泡事件

Bubble( label )

创建气泡对象

var bubObj = new plus.maps.Bubble( label );
                                                                                            

参数:

label: ( DOMString ) 必选 气泡上显示的文字

返回值:

Bubble : 气泡对象

示例:

 
               var 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);
                                                                                            

setIcon

设置气泡上显示的图标

void bubObj.setIcon( icon );
                                                                                            

说明:

若为设置则无默认图标,已添加的显示的气泡在设置新值后将在地图上立即更新内容。

参数:

icon: ( DOMString ) 必选 设置气泡图标的URL地址
仅支持本地资源,支持png、jpg/jpeg、bmp格式图片资源。

返回值:

void : 无

setLabel

设置气泡上显示的文字内容

void bubObj.setLabel( label );
                                                                                            

说明:

若未设置则不显示文字(默认为空字符串),已添加的显示的气泡在设置新值后将在地图上立即更新内容。

参数:

label: ( DOMString ) 必选 要设置气泡上显示的文字

返回值:

void : 无

getLabel

获取气泡上显示的文字内容

DOMString bubObj.getLabel();
                                                                                            

参数:

返回值:

DOMString : 气泡上显示的文字内容

belongMarker

获取气泡所属的标点对象

Marker bubObj.belongMarker();
                                                                                            

参数:

返回值:

Marker : 气泡所属的标点对象。

loadImage

从图片加载气泡显示的内容

void bubObj.loadImage( path );
                                                                                            

说明:

通过加载图片来自定义气泡显示的内容,加载图片后将清空气泡使用的图标及文字内容。

参数:

path: ( String ) 必选 要加载的图片路径
支持以下图片路径: 相对路径 - 相对于当前页面的host位置,如"a.jpg",注意当前页面为网络地址则不支持; 绝对路径 - 系统绝对路径,如Android平台"/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/www/a.jpg",iOS平台"/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/www/a.png"; 相对路径URL(RelativeURL) - 以"_"开头的相对路径,如"_www/a.jpg"、"_doc/b.jpg"、"_documents/c.jpg"、"_downloads/d.jpg"; 本地路径URL - 以“file://”开头,后面跟随系统绝对路径。

返回值:

void : 无

loadImageDataURL

从图片数据加载气泡显示的内容

void bubObj.loadImageDataURL( data );
                                                                                            

说明:

通过加载图片数据来自定义气泡显示的内容,加载图片后将清空气泡使用的图标及文字内容。 图片数据可通过Canvas自定义绘制后调用toDataURL来获取。

参数:

data: ( String ) 必选 要加载的图片数据
图片数据为经过Base64URL编码转换后的字符串,如果图片数据无效则使用之前的内容显示。

返回值:

void : 无

onclick

用户点击气泡事件

 
bubObj.onclick = function ( bubble ) {
               // JS code. } 
                                                                                            

说明:

OverlayClickEventHandler 类型

示例:

// 用户点击气泡将弹出气泡上的标题信息 
bubObj.onclick = function ( bubble ) {
               alert( "Clicked:" + bubble.getLabel() );}
                                                                                            

Circle

地图上显示的圆圈对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

Circle( center, radius ): 创建Circle对象

方法:

setCenter: 设置圆圈中心点的经纬度坐标

getCenter: 获取圆圈中心点的坐标

setRadius: 设置圆圈的半径,单位为米

getRadius: 获取圆圈的半径

setStrokeColor: 设置圆圈的边框颜色

getStrokeColor: 获取圆圈的边框颜色

setStrokeOpacity: 设置圆圈的边框颜色

getStrokeOpacity: 获取圆圈边框的透明度

setFillColor: 设置圆圈的填充颜色

getFillColor: 获取圆圈的填充颜色

setFillOpacity: 设置圆圈填充颜色的透明度

getFillOpacity: 获取圆圈填充色的透明度

setLineWidth: 设置圆圈边框的线条宽度

getLineWidth: 获取圆圈边框的线条宽度

Circle( center, radius )

创建Circle对象

var circleObj = new plus.maps.Circle( center, radius );
                                                                                            

参数:

center: ( Point ) 必选 圆圈中心点的经纬度坐标

radius: ( Number ) 必选 圆圈的半径,单位为米

返回值:

Circle : 地图上圆圈对象

示例:

 
               var circleObj=new plus.maps.Circle(new plus.maps.Point(116.347496,39.970191),500);
               map.addOverlay(circleObj);
                                                                                            

setCenter

设置圆圈中心点的经纬度坐标

void circleObj.setCenter( point );
                                                                                            

说明:

该方法设置将导致地图中的圆圈立即更新。

参数:

point: ( Point ) 必选 圆圈的中心点坐标

返回值:

void : 无

示例:

// 设置新的圆圈中心点 
circleObj.setCenter( new plus.maps.Point(116.0,39.0) );
                                                                                            

getCenter

获取圆圈中心点的坐标

Point circleObj.getCenter();
                                                                                            

参数:

返回值:

Point : 圆圈中心点的坐标对象

setRadius

设置圆圈的半径,单位为米

void circleObj.setRadius( radius );
                                                                                            

说明:

该方法设置将导致地图中的圆圈立即更新。

参数:

radius: ( Number ) 必选 圆圈的半径,单位为米

返回值:

void : 无

示例:

// 设置新的圆圈半径
circleObj.setRadius( 1000 );
                                                                                            

getRadius

获取圆圈的半径

Number circleObj.getRadius();
                                                                                            

参数:

返回值:

Number : 圆圈的半径,单位为米。

setStrokeColor

设置圆圈的边框颜色

void circleObj.setStrokeColor( color );
                                                                                            

说明:

圆圈默认的圆圈边框颜色为黑色"#000000",该方法设置将导致地图中的圆圈立即更新。

参数:

color: ( DOMString ) 必选 圆圈边框的线条颜色值
格式为"#RRGGBB",如红色为"#ff0000"。

返回值:

void : 无

示例:

// 设置圆圈的边框颜色为红色
circleObj.setStorkeColor( "#ff0000" );
                                                                                            

getStrokeColor

获取圆圈的边框颜色

DOMString circleObj.getStrokeColor();
                                                                                            

参数:

返回值:

DOMString : 圆圈边框的线条颜色,格式为"#RRGGBB",如黑色为"#000000"。

setStrokeOpacity

设置圆圈的边框颜色

void circleObj.setStrokeOpacity( opacity );
                                                                                            

说明:

圆圈默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的圆圈立即更新。

参数:

opacity: ( Number ) 必选 圆圈边框的透明度
取值范围为0-1,0表示全透明,1表示不透明。

返回值:

void : 无

示例:

// 设置圆圈边框为半透明
circleObj.setStrokeOpacity( 0.5 );
                                                                                            

getStrokeOpacity

获取圆圈边框的透明度

Number circleObj.getStrokeOpacity();
                                                                                            

参数:

返回值:

Number : 圆圈的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setFillColor

设置圆圈的填充颜色

void circleObj.setFillColor( color );
                                                                                            

说明:

圆圈默认的圆圈填充颜色为无色,该方法设置将导致地图中的圆圈立即更新。

参数:

color: ( DOMString ) 必选 圆圈填充的颜色值
格式为"#RRGGBB",如红色为"#ff0000"。

返回值:

void : 无

示例:

// 设置圆圈的填充颜色为红色
circleObj.setFillColor( "#ff0000" );
                                                                                            

getFillColor

获取圆圈的填充颜色

DOMString circleObj.getFillColor();
                                                                                            

说明:

如果填充颜色为无色,则返回空字符串。

参数:

返回值:

DOMString : 圆圈的填充颜色,格式为"#RRGGBB",如黑色为"#000000"。

setFillOpacity

设置圆圈填充颜色的透明度

void circleObj.setFillOpacity( opacity );
                                                                                            

说明:

圆圈默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的圆圈立即更新。

参数:

opacity: ( Number ) 必选 圆圈填充颜色的透明度
取值范围为0-1,0表示全透明,1表示不透明。

返回值:

void : 无

示例:

// 设置圆圈填充颜色为半透明
circleObj.setFillOpacity( 0.5 );
                                                                                            

getFillOpacity

获取圆圈填充色的透明度

Number circleObj.getFillOpacity();
                                                                                            

参数:

返回值:

Number : 圆圈填充色的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setLineWidth

设置圆圈边框的线条宽度

void circleObj.setLineWidth( width );
                                                                                            

说明:

圆圈边框的默认值为5。 如果设置的值不合法则保持原有的宽度;该方法设置将导致地图中的圆圈立即更新。

参数:

width: ( Number ) 必选 圆圈边框的线条宽度
取值范围为正整数。

返回值:

void : 无

示例:

// 设置圆圈边框线条为宽度为10
circleObj.setLineWidth( 10 );
                                                                                            

getLineWidth

获取圆圈边框的线条宽度

Number circleObj.getLineWidth();
                                                                                            

参数:

返回值:

Number : 圆圈边框的线条宽度,正整数。

Polyline

地图上显示的折线对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

Polyline( points ): 创建Polyline对象

方法:

setPath: 设置折线的顶点坐标

getPath: 获取折线的顶点坐标

setStrokeColor: 设置折线的颜色

getStrokeColor: 获取折线的颜色

setStrokeOpacity: 设设置折线的透明度

getStrokeOpacity: 获取折线的透明度

setLineWidth: 设置折线的线条宽度

getLineWidth: 获取折线的线条宽度

Polyline( points )

创建Polyline对象

var polylineObj = new plus.maps.Polyline( points );
                                                                                            

参数:

points: ( Array ) 必选 折线的顶点坐标,Point数组

返回值:

Polyline : 地图上折线对象

示例:

// 创建一个折线对象var points = new Array( new plus.maps.Point(116.0,39.0), new plus.maps.Point(115.0,38.0), new plus.maps.Point(117.0,38.0) );var polylineObj = new plus.maps.Polyline( points );
                                                                                            

setPath

设置折线的顶点坐标

void polylineObj.setPath( points );
                                                                                            

说明:

该方法设置将导致地图中的折线立即更新。

参数:

points: ( Array ) 必选 折线的顶点坐标Point数组

返回值:

void : 无

示例:

// 设置新的折线顶点var points = new Array( new plus.maps.Point(116.0,39.0), new plus.maps.Point(115.0,38.0), new plus.maps.Point(117.0,38.0) );
polylineObj.setPath( points );
                                                                                            

getPath

获取折线的顶点坐标

Array<Point> polylineObj.getPath();
                                                                                            

参数:

返回值:

Array : 折线的顶点坐标数组。

setStrokeColor

设置折线的颜色

void polylineObj.setStrokeColor( color );
                                                                                            

说明:

折线默认的颜色为黑色"#000000",该方法设置将导致地图中的折线立即更新。

参数:

color: ( DOMString ) 必选 折线的颜色值
格式为"#RRGGBB",如红色为"#ff0000"。

返回值:

void : 无

示例:

// 设置折线为红色
polylineObj.setStorkeColor( "#ff0000" );
                                                                                            

getStrokeColor

获取折线的颜色

DOMString polylineObj.getStrokeColor();
                                                                                            

参数:

返回值:

DOMString : 折线的颜色,格式为"#RRGGBB",如黑色为"#000000"。

setStrokeOpacity

设设置折线的透明度

void polylineObj.setStrokeOpacity( opacity );
                                                                                            

说明:

折线默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的折线立即更新。

参数:

opacity: ( Number ) 必选 折线的透明度
取值范围为0-1,0表示全透明,1表示不透明。

返回值:

void : 无

示例:

// 设置折线为半透明
polylineObj.setStrokeOpacity( 0.5 ); 
                                                                                            

getStrokeOpacity

获取折线的透明度

Number polylineObj.getStrokeOpacity();
                                                                                            

参数:

返回值:

Number : 折线的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setLineWidth

设置折线的线条宽度

void polylineObj.setLineWidth( width );
                                                                                            

说明:

折线线条的宽度默认值为5。 如果设置的值不合法则保持原有的宽度;该方法设置将导致地图中的折线立即更新。

参数:

width: ( Number ) 必选 折线的线条宽度
取值范围为正整数。

返回值:

void : 无

示例:

// 设置折线为宽度为10
polylineObj.setLineWidth( 10 );
                                                                                            

getLineWidth

获取折线的线条宽度

Number polylineObj.getLineWidth();
                                                                                            

参数:

返回值:

Number : 折线的线条宽度,正整数。

Polygon

地图上显示的多边形对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

Polygon( points ): 创建Polygon对象

方法:

setPath: 设置多边形的顶点坐标

getPath: 获取多边形的顶点坐标

setStrokeColor: 设置多边形的颜色

getStrokeColor: 获取多边形边框的颜色

setStrokeOpacity: 设置多边形的透明度

getStrokeOpacity: 获取多边形边框的透明度

setFillColor: 设置多边形的填充颜色

getFillColor: 获取多边形的填充色

setFillOpacity: 设置多边形填充色的透明度

getFillOpacity: 获取多边形填充色的透明度

setLineWidth: 设置多边形的边框宽度

getLineWidth: 获取多边形边框的宽度

Polygon( points )

创建Polygon对象

var polygonObj = new plus.maps.Polygon( points );
                                                                                            

参数:

points: ( Array ) 必选 多边形的顶点坐标,Point数组

返回值:

Polygon : 地图上多边形对象

示例:

// 创建一个多边形对象var points = new Array( new plus.maps.Point(116.0,39.0), new plus.maps.Point(115.0,38.0), new plus.maps.Point(117.0,38.0) );var polygonObj = new plus.maps.Polygon( points );
                                                                                            

setPath

设置多边形的顶点坐标

void polygonObj.setPath( points );
                                                                                            

说明:

该方法设置将导致地图中的多边形立即更新。

参数:

points: ( Array ) 必选 多边形的顶点坐标Point数组

返回值:

void : 无

示例:

// 设置新的多边形顶点var points = new Array( new plus.maps.Point(116.0,39.0), new plus.maps.Point(115.0,38.0), new plus.maps.Point(117.0,38.0) );
polygonObj.setPath( points );
                                                                                            

getPath

获取多边形的顶点坐标

Array<Point> polygonObj.getPath();
                                                                                            

参数:

返回值:

Array : 多边形的顶点坐标数组。

setStrokeColor

设置多边形的颜色

void polygonObj.setStrokeColor( color );
                                                                                            

说明:

多边形边框默认的颜色为黑色"#000000",该方法设置将导致地图中的多边形立即更新。

参数:

color: ( DOMString ) 必选 多边形边框的颜色值
格式为"#RRGGBB",如红色为"#ff0000"。

返回值:

void : 无

示例:

// 设置多边形边框为红色
polygonObj.setStorkeColor( "#ff0000" );
                                                                                            

getStrokeColor

获取多边形边框的颜色

DOMString polygonObj.getStrokeColor();
                                                                                           

参数:

返回值:

DOMString : 多边形边框的颜色,格式为"#RRGGBB",如黑色为"#000000"。

setStrokeOpacity

设置多边形的透明度

void polygonObj.setStrokeOpacity( opacity );
                                                                                            

说明:

多边形边框默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的多边形立即更新。

参数:

opacity: ( Number ) 必选 多边形边框的透明度
取值范围为0-1,0表示全透明,1表示不透明。

返回值:

void : 无

示例:

// 设置多边形边框为半透明
polygonObj.setStrokeOpacity( 0.5 ); 
                                                                                            

getStrokeOpacity

获取多边形边框的透明度

Number polygonObj.getStrokeOpacity();
                                                                                            

参数:

返回值:

Number : 多边形边框的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setFillColor

设置多边形的填充颜色

void polygonObj.setStrokeColor( color );
                                                                                            

说明:

多边形默认填充颜色为无色,该方法设置将导致地图中的多边形立即更新。

参数:

color: ( DOMString ) 必选 多边形填充的颜色值
格式为"#RRGGBB",如红色为"#ff0000"。

返回值:

void : 无

示例:

// 设置多边形的填充颜色为红色
polygonObj.setStorkeColor( "#ff0000" );
                                                                                            

getFillColor

获取多边形的填充色

DOMString polygonObj.getFillColor();
                                                                                            

说明:

如果填充色为无色,则返回空字符串。

参数:

返回值:

DOMString : 多边形的填充色,格式为"#RRGGBB",如黑色为"#000000"。

setFillOpacity

设置多边形填充色的透明度

void polygonObj.setFillOpacity( opacity );
                                                                                            

说明:

多边形填充色默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的多边形立即更新。

参数:

opacity: ( Number ) 必选 多边形填充色的透明度
取值范围为0-1,0表示全透明,1表示不透明。

返回值:

void : 无

示例:

// 设置多边形填充色为半透明
polygonObj.setFillOpacity( 0.5 );
                                                                                            

getFillOpacity

获取多边形填充色的透明度

Number polygonObj.getFillOpacity();
                                                                                            

参数:

返回值:

Number : 多边形填充色的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setLineWidth

设置多边形的边框宽度

void polygonObj.setLineWidth( width );
                                                                                            

说明:

多边形边框的宽度默认值为5。 如果设置的值不合法则保持原有的宽度;该方法设置将导致地图中的多边形立即更新。

参数:

width: ( Number ) 必选 多边形的边框宽度
取值范围为正整数。

返回值:

void : 无

示例:

// 设置多边形为宽度为10
polygonObj.setLineWidth( 10 );
                                                                                            

getLineWidth

获取多边形边框的宽度

Number polygonObj.getLineWidth();
                                                                                            

参数:

返回值:

Number : 多边形的边框宽度,正整数。

Search

地图检索对象

说明:

Search对象用于管理地图上的检索功能,包括位置检索、周边检索和范围检索。

构造:

Search( map ): 创建Search对象

方法:

setPageCapacity: 设置检索返回结果每页的信息数目

getPageCapacity: 获取检索返回结果每页的信息数目

poiSearchInCity: 城市兴趣点检索

poiSearchNearBy: 周边检索

poiSearchInbounds: 指定范围检索

setTransitPolicy: 设置公交路线检索策略

transitSearch: 公交路线检索

setDrivingPolicy: 设置驾车路线检索策略

drivingSearch: 驾车路线检索

walkingSearch: 步行路线检索

事件:

onPoiSearchComplete: 兴趣点检索完成事件

onRouteSearchComplete: 线路检索完成事件

Search( map )

创建Search对象

var searchObj = new plus.maps.Search( map );
                                                                                            

参数:

map: ( Map ) 必选 检索关联的地图对象

返回值:

Search : 地图检索对象

示例:

 
               // 将检索到的第一条信息作为标点添加到地图中
               var searchObj = new plus.maps.Search( map );
               searchObj.onPoiSearchComplete = function( state, result ){
                               console.log("onPoiSearchComplete: "+state+" , "+result.currentNumber);
                               if ( state == 0 ) {
                                              if ( result.currentNumber <= 0 ) {
                                                             alert( "没有检索到结果" );
                                              }
                                              for(var i=0; i<result.currentNumber; i++){
                                                             var pos = result.getPosition( i );
                                                             var marker = new plus.maps.Marker( pos.point );
                                                             marker.setLabel( pos.name );
                                                             map.addOverlay( marker );
                                              }
                               } else {
                                              alert( "检索失败" );
                               }
               }
               var pt = new plus.maps.Point( 116.404, 39.915 ); // 天安门坐标
               searchObj.poiSearchNearBy( "肯德基", pt, 1000 );
                                                                                            

setPageCapacity

设置检索返回结果每页的信息数目

void searchObj.setPageCapacity( capacity );
                                                                                            

说明:

地图检索结果是按页返回的,默认检索每页返回10条信息。

参数:

capacity: ( Number ) 必选 要指定检索返回结果每页的信息数目

返回值:

void : 无

getPageCapacity

获取检索返回结果每页的信息数目

Number searchObj.getPageCapacity();
                                                                                            

参数:

返回值:

Number : 检索返回结果每页的信息数目

poiSearchInCity

城市兴趣点检索

Boolean searchObj.poiSearchInCity( city, key, index );
                                                                                            

说明:

检索结果将通过onPoiSearchComplete事件返回。 如果调用此方法时已经处于POI检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

city: ( DOMString ) 必选 检索的城市名称
如果设置为空字符串则在地图定位出当前所在城市内进行检索。

key: ( DOMString ) 必选 检索的关键字

index: ( Number ) 可选 要获取检索结果的页号索引
页号索引值从0开始,即0表示第一页,默认值为0。

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:

// 在北京对关键字“肯德基”进行检索var searchObj = new plus.maps.Search( map );
searchObj. poiSearchInCity( "北京", "肯德基" );
                                                                                            

poiSearchNearBy

周边检索

Boolean searchObj.poiSearchNearBy( key, pt, radius, index );
                                                                                            

说明:

周边检索根据中心点、半径与检索词进行检索,检索完成后触发onPoiSearchComplete()事件。 若调用此方法时对象处于POI检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

key: ( DOMString ) 必选 检索的关键字

pt: ( Point ) 必选 检索的中心点坐标

radius: ( Number ) 必选 检索的半径,单位为米

index: ( Number ) 必选 要获取检索结果的页号索引
页号索引值从0开始,即0表示第一页,默认值为0。

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:

// 在天安门周围1千米内对关键字“肯德基”进行检索var searchObj = new plus.maps.Search( map );var pt = new plus.maps.Point( 116.404, 39.915 ); // 天安门坐标
searchObj. poiSearchNearBy( "肯德基", pt, 1000 );
                                                                                            

poiSearchInbounds

指定范围检索

Boolean searchObj.poiSearchInbounds( key, ptLB, ptRT, index );
                                                                                            

说明:

根据范围和检索词进行检索,检索完成后触发onPoiSearchComplete()事件。 若调用此方法时对象处于POI检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

返回值:

Boolean : 检索成功返回true,否则返回false。

setTransitPolicy

设置公交路线检索策略

Boolean searchObj.poiSearchInbounds( key, ptLB, ptRT, index );
                                                                                            

说明:

默认采用maps.SearchPolicy.TRANSIT_TIME_FIRST策略。 需在调用transitSearch()方法前设置的策略才生效; 如果设置非法值则认为设置失败,采用上次设置的检索策略并返回false。

参数:

policy: ( SearchPolicy ) 必选 公交线路检索策略
可取值为maps.SearchPolicy.TRANSIT_TIME_FIRST、maps.SearchPolicy.TRANSIT_TRANSFER_FIRST、maps.SearchPolicy.TRANSIT_WALK_FIRST、maps.SearchPolicy.TRANSIT_NO_SUBWAY。

返回值:

Boolean : 设置成功返回true,否则返回false。

transitSearch

公交路线检索

Boolean searchObj.transitSearch( start, end, city );
                                                                                            

说明:

检索完成后触发onRouteSearchComplete()事件。 若调用此方法时对象处于检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

start: ( String | Point ) 必选 公交线路检索的起点地址名称或坐标
若起点地址为名称则需使用地名关键字,如起点为坐标则需要使用plus.maps.Point类型对象。

end: ( String | Point ) 必选 公交线路检索的终点地址名称或坐标
若终点地址为名称则需使用地名关键字,如终点为坐标则需要使用plus.maps.Point类型对象。

city: ( String ) 必选 公交线路检索的城市名称

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:

function transitSearch(){
               // 在北京检索从天安门到大钟寺的公交线路
               var searchObj = new plus.maps.Search( map );
               searchObj.onRouteSearchComplete = function ( state, result ) {
                               console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
                               if ( state == 0 ) {
                                              if ( result.routeNumber <= 0 ) {
                                                             alert( "没有检索到结果" );
                                              }
                                              for(var i=0; i<result.routeNumber; i++){
                                                             map.addOverlay( result.getRoute( i ) );
                                              }
                               } else {
                                              alert( "检索失败" );
                               }
               }
               searchObj.transitSearch( "天安门", "大钟寺", "北京" );}
                                                                                            

setDrivingPolicy

设置驾车路线检索策略

Boolean searchObj.setDrivingPolicy( policy );
                                                                                            

说明:

设置驾车路线检索策略,默认采用maps.SearchPolicy.DRIVING_TIME_FIRST策略。 如果设置非法值则认为设置失败,采用上次设置的检索策略并返回false;需在调用drivingSearch()方法前设置的策略才生效。

参数:

policy: ( SearchPolicy ) 必选 驾车线路检索策略
可取值为maps.SearchPolicy.DRIVING_TIME_FIRST、maps.SearchPolicy.DRIVING_DIS_FIRST、maps.SearchPolicy.DRIVING_FEE_FIRST。

返回值:

Boolean : 设置成功返回true,否则返回false。

drivingSearch

驾车路线检索

Boolean searchObj.drivingSearch( start, startCity, end, endCity );
                                                                                            

说明:

用于驾车路线检索,检索完成后触发onRouteSearchComplete()事件。 调用此方法时对象处于检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

start: ( String | Point ) 必选 驾车线路检索的起点地址名称或坐标
若起点地址为名称则需使用地名关键字,如起点为坐标则需要使用plus.maps.Point类型对象。

startCity: ( String ) 必选 驾车线路检索的起点位置所属城市
如果start参数传入的为坐标只则所属城市可传入空字符串。

end: ( String | Point ) 必选 驾车线路检索的终点地址名称或坐标
若终点地址为名称则需使用地名关键字,如终点为坐标则需要使用plus.maps.Point类型对象。

endCity: ( String ) 必选 驾车线路检索的终点位置所属城市

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:

function drivingSearch(){
               // 检索从北京天安门到大钟寺的驾车线路
               var searchObj = new plus.maps.Search( map );
               searchObj.onRouteSearchComplete = function ( state, result ) {
                               console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
                               if ( state == 0 ) {
                                              if ( result.routeNumber <= 0 ) {
                                                             alert( "没有检索到结果" );
                                              }
                                              for(var i=0; i<result.routeNumber; i++){
                                                             map.addOverlay( result.getRoute( i ) );
                                              }
                               } else {
                                              alert( "检索失败" );
                               }
               }
               searchObj.drivingSearch( "天安门", "北京", "大钟寺", "北京" );}
                                                                                            

walkingSearch

步行路线检索

Boolean searchObj.walkingSearch( start, startCity, end, endCity );
                                                                                            

说明:

用于步行路线检索,检索完成后触发onRouteSearchComplete()事件。 调用此方法时对象处于检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

start: ( Point | Point ) 必选 步行线路检索的起点地址名称或坐标
若起点地址为名称则需使用地名关键字,如起点为坐标则需要使用plus.maps.Point类型对象。

startCity: ( String ) 必选 步行线路检索的起点所属城市
如果start参数传入的为坐标只则所属城市可传入空字符串。

end: ( String | Point ) 必选 步行线路检索的终点
若终点地址为名称则需使用地名关键字,如终点为坐标则需要使用plus.maps.Point类型对象。

endCity: ( String ) 必选 步行线路检索的终点所属城市
如果end参数传入的为坐标只则所属城市可传入空字符串。

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:

function walkingSearch(){
               // 检索从北京天安门到大钟寺的步行线路
               var searchObj = new plus.maps.Search( map );
               searchObj.onRouteSearchComplete = function ( state, result ) {
                               console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
                               if ( state == 0 ) {
                                              if ( result.routeNumber <= 0 ) {
                                                             alert( "没有检索到结果" );
                                              }
                                              for(var i=0; i<result.routeNumber; i++){
                                                             map.addOverlay( result.getRoute( i ) );
                                              }
                               } else {
                                              alert( "检索失败" );
                               }
               }
               searchObj.walkingSearch( "天安门", "北京", "大钟寺", "北京" );}
                                                                                            

onPoiSearchComplete

兴趣点检索完成事件

 
searchObj.onPoiSearchComplete = function ( state, result ) {
               // JS Code.}
                                                                                            

说明:

PoiSearchCallback 类型

示例:

function mapSearch(){
               // 将检索到结果作为标点添加到地图中
               var searchObj = new plus.maps.Search( map );
               searchObj.onPoiSearchComplete = function( state, result ){
                               console.log("onPoiSearchComplete: "+state+" , "+result.currentNumber);
                               if ( state == 0 ) {
                                              if ( result.currentNumber <= 0 ) {
                                                             alert( "没有检索到结果" );
                                              }
                                              for(var i=0; i<result.currentNumber; i++){
                                                             var pos = result.getPosition( i );
                                                             var marker = new plus.maps.Marker( pos.point );
                                                             marker.setLabel( pos.name );
                                                             map.addOverlay( marker );
                                              }
                               } else {
                                              alert( "检索失败" );
                               }
               }
               var pt = new plus.maps.Point( 116.404, 39.915 ); // 天安门坐标
               searchObj.poiSearchNearBy( "肯德基", pt, 2000 );}
                                                                                            

onRouteSearchComplete

线路检索完成事件

 
searchObj.onRouteSearchComplete = function ( state, result ) {
               // JS Code.}
                                                                                           

说明:

RouteSearchCallback 类型

示例:

function transitSearch(){
               // 在北京检索从天安门到大钟寺的公交线路
               var searchObj = new plus.maps.Search( map );
               searchObj.onRouteSearchComplete = function ( state, result ) {
                               console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
                               if ( state == 0 ) {
                                              if ( result.routeNumber <= 0 ) {
                                                             alert( "没有检索到结果" );
                                              }
                                              for(var i=0; i<result.routeNumber; i++){
                                                             map.addOverlay( result.getRoute( i ) );
                                              }
                               } else {
                                              alert( "检索失败" );
                               }
               }
               searchObj.transitSearch( "天安门", "大钟寺", "北京" );}
                                                                                            

SearchPolicy

检索策略类型

说明:

在线路检索时设置检索策略时使用。

常量:

TRANSIT_TIME_FIRST: (Number 类型 )时间优先

检索策略类型常量,用于公交检索策略

 

TRANSIT_TRANSFER_FIRST: (Number 类型 )最少换乘优先

检索策略类型常量,用于公交检索策略

 

TRANSIT_WALK_FIRST: (Number 类型 )最少步行距离优先

检索策略类型常量,用于公交检索策略

 

TRANSIT_FEE_FIRST: (Number 类型 )选择车票花销最少优先

检索策略类型常量,用于公交检索策略

 

DRIVING_DIS_FIRST: (Number 类型 )最短距离优先

检索策略类型常量,用于驾车检索策略

 

DRIVING_NO_EXPRESSWAY: (Number 类型 )无高速公路线路

检索策略类型常量,用于驾车检索策略

 

DRIVING_FEE_FIRST: (Number 类型 )最少费用优先

检索策略类型常量,用于驾车检索策略

 

SearchPoiResult

保存位置检索、周边检索和范围检索返回的结果

属性:

totalNumber: POI检索总结果数

currentNumber: 当前页的POI检索结果数

pageNumber: 本次POI检索的总页数

pageIndex: 获取当前页的索引

poiList: 本次POI检索结果数组

方法:

getPosition: 获取指定索引的检索结果

totalNumber

POI检索总结果数

 
poiResult.totalNumber;
                                                                                            

说明:

Number 类型 只读属性

POI检索总结果数,若没有检索到则返回0。

currentNumber

当前页的POI检索结果数

 
poiResult.currentNumber;
                                                                                            

说明:

Number 类型 只读属性

当前页POI检索结果数,若没有检索到则返回0。

pageNumber

本次POI检索的总页数

 
poiResult.pageNumber;
                                                                                            

说明:

Number 类型 只读属性

本次POI检索的总页数,若没有检索到则返回0。

pageIndex

获取当前页的索引

 
poiResult.pageIndex;
                                                                                            

说明:

Number 类型 只读属性

当前页的索引值,从0开始,即0表示第一页。

poiList

本次POI检索结果数组

 
poiResult.poiList;
                                                                                            

说明:

Array 类型 只读属性

POI检索结果数组,Array数组对象,数组内容为Position对象。

getPosition

获取指定索引的检索结果

Position poiResult.getPosition( index ) ;
                                                                                            

说明:

如果index值超出范围则返回null对象。

参数:

返回值:

Position : 指定索引的检索结果。

SearchRouteResult

保存位置检索、周边检索和范围检索返回的结果

说明:

不可通过new操作符创建SearchRouteResult对象,在触发onRouteSearchComplete()时自动创建。

属性:

startPosition: 线路的起点位置

endPosition: 线路的终点位置

routeNumber: 本次线路检索的总方案数

routeList: 线路检索结果数组

方法:

getRoute: 获取指定索引的线路方案

startPosition

线路的起点位置

 
routeResult.startPosition;
                                                                                            

说明:

Position 类型 只读属性

线路检索结果的起始位置点对象。

endPosition

线路的终点位置

 
poiResult.endPosition;
                                                                                            

说明:

Position 类型 只读属性

线路检索结果的终点位置点对象。

routeNumber

本次线路检索的总方案数

 
routeResult.routeNumber;
                                                                                            

说明:

Number 类型 只读属性

线路检索结果的方案数目,若未检索到有效结果则返回0。

routeList

线路检索结果数组

 
routeResult.routeList;
                                                                                            

说明:

Array 类型 只读属性

线路检索结果数组,Array数组对象,数组内容为Route对象。

getRoute

获取指定索引的线路方案

Route poiResult.getRoute( index );
                                                                                            

说明:

如果index值超出范围则返回null对象。

参数:

index: ( Number ) 必选 要获取结果的索引值

返回值:

Route : 指定索引的线路方案。

Position

检索结果的位置点

构造:

Position( point ): 创建Position对象

属性:

point: 位置点的经纬度坐标

address: 位置点的地址信息

city: 位置点的所属城市信息

name: 位置点的名称

phone: 位置点的电话信息

postcode: 位置点的邮编信息

Position( point )

创建Position对象

var posObj = new plus.maps.Position( point );
                                                                                            

参数:

point: ( Point ) 必选 位置点的经纬度坐标

返回值:

Position : 创建的Position对象。

示例:

// 创建检索位置点对象var posObj = new plus.maps.Position( new plus.maps.Point(116.404,39.915) );
                                                                                            

point

位置点的经纬度坐标

 
posObj.point;
                                                                                            

说明:

Point 类型 只读属性

address

位置点的地址信息

 
posObj.address;
                                                                                            

说明:

DOMString 类型 只读属性

如果没有位置点的地址信息则返回空字符串。

city

位置点的所属城市信息

 
posObj.city;
                                                                                            

说明:

DOMString 类型 只读属性

如果没有位置点的所属城市信息则返回空字符串。

name

位置点的名称

 
posObj.name;
                                                                                            

说明:

DOMString 类型 只读属性

如果没有位置点的名称则返回空字符串。

phone

位置点的电话信息

 
posObj.phone;
                                                                                            

说明:

DOMString 类型 只读属性

如果没有位置点的电话信息则返回空字符串。

postcode

位置点的邮编信息

 
posObj.postcode;
                                                                                            

说明:

DOMString 类型 只读属性

如果没有位置点的邮编信息则返回空字符串。

Route

地图中的路线对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

Route( ptStart, ptEnd ): 创建Route对象

属性:

startPoint: 路线起点地理坐标点

endPoint: 路线终点地理坐标点

pointCount: 路线坐标点段数

pointList: 路线的地理坐标点数组

distance: 路线总距离

routeTip: 线路的提示信息

Route( ptStart, ptEnd )

创建Route对象

var routeObj = new plus.maps.Route( ptStart, ptEnd );
                                                                                            

参数:

ptStart: ( Point ) 必选 路线起点经纬度坐标

ptEnd: ( Point ) 必选 路线终点经纬度坐标

返回值:

Route : 创建的Route对象。

示例:

// 创建Route线路对象var routeObj = new plus.maps.Route( new plus.maps.Point(116.404,39.915), new plus.maps.Point(116.347496,39.970191) );
                                                                                            

startPoint

路线起点地理坐标点

 
routeObj.startPoint;
                                                                                            

说明:

Point 类型 只读属性

endPoint

路线终点地理坐标点

 
routeObj.endPoint;
                                                                                            

说明:

Point 类型 只读属性

pointCount

路线坐标点段数

 
routeObj.pointCount;
                                                                                            

说明:

Point 类型 只读属性

pointList

路线的地理坐标点数组

 
routeObj.pointList;
                                                                                            

说明:

Array 类型 只读属性

路线的地理坐标点数组,数组中保存Point对象。

distance

路线总距离

 
routeObj.distance;
                                                                                            

说明:

Number 类型 只读属性

路线从起始点到终点的距离,单位为米。

routeTip

线路的提示信息

 
routeObj.routeTip;
                                                                                            

说明:

DOMString 类型 只读属性

线路提示信息,没有提示信息则返回空字符串。

GeocodeCallback

地理编码转换成功的回调函数

void onGeocodeSuccess( Event event ) {
               // JS code.
               var address = event.address;  // 转换后的地理位置
               var point = event.coord;  // 转换后的坐标信息
               var coordType = event.coordType;              // 转换后的坐标系类型}
                                                             

说明:

在地理编码转换成功触发,并返回转换结果。

参数:

event: ( Event ) 可选 转换后的坐标信息
可通过event.coord(Point类型)获取转换后的坐标值。 可通过event.coordType(String类型)获取转换后的坐标系类型,“wgs84”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系; “bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系。

返回值:

void : 无

CoordinateConvertCallback

坐标转换成功的回调函数

void onConvertSuccess( Event event ) {
               // JS code.
               var point = event.coord;  // 转换后的坐标值
               var coordType = event.coordType;              // 转换后的坐标系类型}
                                                             

说明:

在坐标转换成功触发,并返回转换结果。

参数:

event: ( Event ) 可选 转换后的坐标信息
可通过event.coord(Point类型)获取转换后的坐标值。 可通过event.coordType(String类型)获取转换后的坐标系类型,“wgs84”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系; “bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系。

返回值:

void : 无

DistanceCalculateCallback

距离计算成功的回调函数

void onCalculateSuccess( Event event ) {
               // JS code.
               var distance = event.distance;  // 转换后的距离值}
                                                             

说明:

在距离计算成功触发,并返回计算结果。

参数:

event: ( Event ) 可选 距离计算后的信息
可通过event.distance(Number类型)获取计算后的距离值,单位为米(m)。

返回值:

void : 无

AreaCalculateCallback

地理区域面积计算成功的回调函数

void onCalculateSuccess( Event event ) {
               // JS code.
               var area = event.area;  // 计算后的面积值}
                                                             

说明:

在地理区域面积计算成功触发,并返回计算结果。

参数:

event: ( Event ) 可选 地理区域面积计算后的信息
可通过event.area(Number类型)获取计算后的面积值,单位为平方米。

返回值:

void : 无

UserLocationCallback

获取用户当前位置信息成功回调

void onSuccess( state, point ) {
               // Get location code}
                                                             

参数:

state: ( Number ) 必选 获取用户位置操作状态码,0表示成功,其它为错误码

point: ( Point ) 必选 位置经纬度坐标,如果获取操作失败则为null对象

返回值:

void : 无

ClickEventHandler

用户点击地图回调事件

void onClick( point ) {
               // Click code}
                                                             

参数:

point: ( Point ) 必选 用户在地图上点击的坐标点

返回值:

void : 无

StatusChangedEventHandler

地图状态变化回调事件

void onStatusChanged( event ) {
               // Click code
               var target = event.target;                          // 状态变化的地图对象(plus.maps.Map)
               var bounds = event.bounds;                        // 地图的可视地理区域(plus.maps.Bounds)
               var center = event.center;                         // 地图的中心点坐标(plus.maps.Point)
               var zoom = event.zoom;                                           // 地图的缩放级别(Number)}
                                                             

参数:

event: ( Event ) 必选 地图状态变化对象
可通过event.target(plus.maps.Map类型)获取状态变化的地图对象; 可通过event.bounds(plus.maps.Bounds类型)获取地图当前的可视区域; 可通过event.center(plus.maps.Point类型)获取地图当前的中心点坐标; 可通过event.zoom(Number类型)获取地图当前的缩放级别。

返回值:

void : 无

OverlayClickEventHandler

用户点击地图覆盖物回调事件

void onClick( overlay ) {
               // Click code}
                                                             

参数:

overlay: ( Overlay ) 必选 用户在地图上点击的覆盖物对象
overlay可以是Marker、Bubble、Circle、Polyline、Polygon对象的引用。

返回值:

void : 无

OverlayDragEventHandler

用户拖拽覆盖物回调事件

void ondrag( event ) {
               // Click code
               var target = event.target;    // 拖拽的覆盖物对象}
                                                             

参数:

event: ( Event ) 必选 拖拽事件对象
可通过event.target(Overlay类型)获取拖拽的覆盖物对象,target可以是Marker、Bubble、Circle、Polyline、Polygon对象的引用。

返回值:

void : 无

PoiSearchCallback

兴趣点检索完成事件

void onPoiSearchComplete( state, result ) {
               // JS code.}
                                                             

说明:

在兴趣点检索完成时触发,并返回检索结果。

参数:

state: ( Number ) 必选 检索结果状态号
0表示检索正确并返回结果,其它表示检索错误。

result: ( SearchPoiResult ) 必选 POI检索结果
若检索错误,则为null对象。

返回值:

void : 无

RouteSearchCallback

线路检索完成事件

void onRouteSearchComplete( state, result ) {
               // JS code.}
                                                             

说明:

在线路检索完成时触发,并返回检索结果。

参数:

state: ( Number ) 必选 检索结果状态号
0表示检索正确并返回结果,其它表示检索错误。

result: ( SearchRouteResult ) 必选 线路检索结果
若检索错误,则为null对象。

返回值:

void : 无

SuccessCallback

地图操作成功回调函数

void onSuccess(){
               // Success code.}
                                                             

说明:

地图操作成功后触发回调函数。

参数:

返回值:

void : 无

ErrorCallback

地图操作失败的回调函数

function void onError( error ) {
               // Handle error
               var code = error.code; // 错误编码
               var message = error.message; // 错误描述信息}
                                                             

参数:

error: ( Exception ) 必选 地图操作的错误信息
可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。

返回值:

void : 无

 

 

Messaging

Messaging模块管理设备通讯功能,可用于短信、彩信、邮件发送等。通过plus.messaging可获取设备通讯管理对象。另外也可以直接通过html中的href直接快速发送短信、拨打电话、发送邮件等。

常量:

TYPE_SMS: 简单短信类型常量

TYPE_MMS: 彩信类型常量

TYPE_EMAIL: 邮件类型常量

方法:

createMessage: 创建消息对象

sendMessage: 发送消息

对象:

Message: 消息对象

BodyType: 消息体内容类型

回调方法:

MessageSendSuccessCallback: 消息发送成功的回调函数

MessageErrorCallback: 消息发送失败的回调函数

权限:

permissions

"Messaging": {
               "description": "访问设备通讯能力"}
                                              

TYPE_SMS

简单短信类型常量

 
plus.messaging.TYPE_SMS;
                                                             

说明:

Number 类型

消息类型常量,Number类型,固定值为1,用于创建并发送短信。

平台支持

Android - 2.2+ (支持): 支持

iOS - 4.3+ (支持): 支持

TYPE_MMS

彩信类型常量

 
plus.messaging.TYPE_MMS;
                                                             

说明:

Number 类型

消息类型常量,Number类型,固定值为2,用于创建并发送多媒体短信(彩信)。

平台支持

Android - 2.2+ (支持): 支持

iOS - 4.3+ (不支持): 不支持彩信的发送

TYPE_EMAIL

邮件类型常量

 
plus.messaging.TYPE_EMAIL;
                                                             

说明:

Number 类型

消息类型常量,Number类型,固定值为3,用于创建并发送邮件。

平台支持

Android - 2.2+ (支持): 支持

iOS - 4.3+ (支持): 支持

createMessage

创建消息对象

Message plus.messaging.createMessage( type );
                                                             

说明:

创建指定类型的消息,消息类型可取plus.messaging.TYPE_SMS、plus.messaging.TYPE_MMS、plus.messaging.TYPE_EMAIL。

参数:

type : ( Number ) 必选 消息类型
要创建的消息类型常量,可取plus.messaging.TYPE_SMS、plus.messaging.TYPE_MMS、plus.messaging.TYPE_EMAIL。

返回值:

Message : Message对象

平台支持:

Android - 2.2+ (支持): 支持

iOS - 4.3+ (支持): 支持

示例:

<!DOCTYPE html><html>
               <head>
               <meta charset="utf-8">
               <title>Messaging Example</title>
               <script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,现在可以正常调用扩展APIfunction onPlusReady() {}//短信function smsTest(){
               var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
               msg.to = ['18611497504', '15811140520'];
               msg.body = 'This is HTML5 Plus example test message';
               plus.messaging.sendMessage( msg );}
               </script>
               </head>
               <body>
                               <button type="button" onclick="smsTest()">SMS</button>
               </body></html>
                                                             

sendMessage

发送消息

void plus.messaging.sendMessage( msg, successCB, errorCB );
                                                             

说明:

发送消息,发送成功回调successCB函数,发送失败回调errorCB函数。

参数:

msg: ( Message ) 必选 
要发送的消息对象

successCB: ( MessageSendSuccessCallback ) 可选 
消息发送成功回调函数

errorCB: ( MessageErrorCallback ) 可选 
消息发送失败回调函数

返回值:

void : 无

平台支持:

Android - 2.2+ (支持): 支持

iOS - 4.3+ (支持): 支持

示例:

<!DOCTYPE html><html>
               <head>
               <meta charset="utf-8">
               <title>Messaging Example</title>
               <script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,现在可以正常调用扩展APIfunction onPlusReady() {}//邮件function mailTest(){
               var msg = plus.messaging.createMessage(plus.messaging.TYPE_EMAIL);
               msg.to = ['test@163.com', 'test@173.com'];
               msg.cc = ['test@163.com', 'test@173.com'];
               msg.bcc = ['test@163.com', 'test@173.com'];
               msg.subject = '测试邮件';
               msg.body = 'This is Pandora example test message';
               plus.messaging.sendMessage( msg, function () {
                               alert( "Send success!" );
               }, function () {
                               alert( "Send failed!" );
               } );}
               </script>
               </head>
               <body>
                               <button type="button" onclick="mailTest()">Send Mail</button>
               </body></html>
                                                             

Message

消息对象

属性:

to: 收件人信息

cc: 抄送人信息

bcc: 暗送人信息

subject: 发送消息主题

body: 发送消息内容

bodyType: 发送消息内容类型

silent: 是否采用静默方式发送消息

方法:

addAttachment: 添加附件

to

收件人信息

说明:

DOMString[] 类型 可选属性

字符串数组类型,输入的地址收件人信息必须符合消息类型格式。

cc

抄送人信息

说明:

DOMString[] 类型 可选属性

字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。

bcc

暗送人信息

说明:

DOMString[] 类型 可选属性

字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。

subject

发送消息主题

说明:

DOMString 类型 可选属性

字符串类型,仅发送邮件时有效。

body

发送消息内容

说明:

DOMString 类型 可选属性

字符串类型,要发送的消息体内容,其格式必须与bodyType指定的一致。

bodyType

发送消息内容类型

说明:

BodyType 类型 可选属性

要发送消息体内容的类型,可取值"text"表示文本内容,"html"表示为html页面,默认值为"text"。

平台支持:

iOS - 4.3+ (支持): 支持指定消息体内容类型,可支持html和text模式。

Android - 2.2+ (不支持): 不支持指定消息体内容类型,仅支持text模式。

示例:

<!DOCTYPE html><html>
               <head>
               <meta charset="utf-8">
               <title>Messaging Example</title>
               <script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,现在可以正常调用扩展APIfunction onPlusReady() {}// send mailfunction mailTest(){
               var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
               msg.to = ['service@dcloud.io'];
               msg.bodyType = "text/html";
               msg.body = '<html><body>hello world!</body></html>';
               plus.messaging.sendMessage( msg );}
               </script>
               </head>
               <body>
                               <button type="button" onclick="mailTest()">Mail</button>
               </body></html>
                                                                                            

silent

是否采用静默方式发送消息

说明:

Boolean 类型 可选属性

布尔类型,可取值为true或false,true表示静默方式发送,不弹出界面;false表示非静默方式发送。默认采用非静默方式。

平台支持:

iOS - 4.3+ (不支持): 不支持静默方式发送消息,将忽略此属性值。

Android - 2.2+ (支持): 支持静默方式发送短信(彩信和邮件不支持),发送成功后不会保留在系统的已发送信箱中,默认采用非静默方式发送消息。

示例:

<!DOCTYPE html><html>
               <head>
               <meta charset="utf-8">
               <title>Messaging Example</title>
               <script type="text/javascript">// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );// 扩展API加载完毕,现在可以正常调用扩展APIfunction onPlusReady() {}// send SMSfunction smsTest(){
               var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
               msg.to = ['10086', '10001'];
               msg.body = 'CXYE';
               msg.silent = true; // 设置为使用静默方式发送
               plus.messaging.sendMessage( msg );}
               </script>
               </head>
               <body>
                               <button type="button" onclick="smsTest()">Silent SMS</button>
               </body></html>
                                                                                            

addAttachment

添加附件

 
msg.addAttachment( url );
                                                                                            

说明:

向消息中添加附件,仅邮件类型消息支持,其它类型消息不支持。

参数:

url: ( DOMString ) 必选 要添加的附件资源地址
附件资源必须是本地文件,支持相对路径及本地文件相对路径格式。

返回值:

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>Messaging Example</title>
               <script type="text/javascript">// 监听plusready事件 
document.addEventListener( "plusready", function(){
               // 扩展API加载完毕,现在可以正常调用扩展API},false);// send mailfunction mailTest(){
               var msg = plus.messaging.createMessage(plus.messaging.TYPE_MAIL);
               msg.to = ['service@dcloud.io'];
               msg.body = 'This is an example mail';
               msg.addAttachment("_www/a.doc");
               plus.messaging.sendMessage( msg );}
               </script>
               </head>
               <body>
                               <button type="button" onclick="mailTest()">Mail with Attachment</button>
               </body></html>
                                                                                            

BodyType

消息体内容类型

说明:

用于设定消息的消息体内容。

MessageSendSuccessCallback

消息发送成功的回调函数

void onSuccess() {
               // Send message success code.}
                                                                            

参数:

返回值:

void : 无

MessageErrorCallback

消息发送失败的回调函数

void onError( error ) {
               // Error code.}
                                                             

参数:

error: ( DOMException ) 必选 失败信息

返回值:

void : 无

posted @ 2018-01-23 10:53  Love馨蕊  阅读(2073)  评论(0)    收藏  举报