BBASMMapPlugin.h 13 KB
//
//  SmMapPlugin.h
//  SWAN
//
//  Created by baidu on 2018/4/10.
//  Copyright © 2018年 baidu. All rights reserved.
//

#import "BBASMPlugin.h"

/**
 地图组件端能力
 */
@interface BBASMMapPlugin : BBASDPluginBase

/**
 * 描  述: 小程序地图组件创建地图
 * 示  例: baiduboxapp://swanAPI/map/create?params={"mapId":"mymap","slaveId":"4","latitude":"40.048828","longitude":"116.280412","markers":[{"markerId":"1","latitude":"40.052751","longitude":"116.278796"},{"markerId":"2","latitude":"40.048828","longitude":"116.280412","callout":{"display":"ALWAYS","content":"百度科技园"}},{"markerId":"3","latitude":"40.049655","longitude":"116.27505","callout":{"display":"ALWAYS","content":"西山壹号院"}}],"mapId":"0","position":{"left":"0","top":"0","width":"375","height":"667"},"showLocation":"1","polyline":[{"points":[{"longitude":116.278796,"latitude":40.048828},{"longitude":116.27505,"latitude":40.049655}],"color":"#FF5F41FF","width":2,"dottedLine":true}],"controls":[{"controlId":1,"iconPath":"/resources/location.png","position":{"left":0,"top":250,"width":50,"height":50},"clickable":true}],"circles":[{"latitude":"40.052751","longitude":"116.278796","color":"#FF5F41FF","fillColor":"#21FFFFFF","radius":"200","strokeWidth":"2"}]}&callback=_bdbox_js_186&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_create
 * 备  注:
 * ********** description ************
 * @name:      map.insert
 * @authority: swanAPI
 * @path:      /map/create
 * @args:      [{"name": "mapId", "value": "string="},{"name": "componentId","value": "string="}, {"name": "slaveId", "value": "string"},{"name": "parentId", "value": "string="}, {"name": "position", "value": "Object="}, {"name": "hide", "value": "boolean="}, {"name": "showLocation", "value": "boolean="}, {"name": "enable3D", "value": "boolean="}, {"name": "enableRotate", "value": "boolean="}, {"name": "enableScroll", "value": "boolean="}, {"name": "enableZoom", "value": "boolean="}, {"name": "enableOverlooking", "value": "boolean="}, {"name": "showCompass", "value": "boolean="}, {"name": "subkey", "value": "string="}, {"name": "layerStyle", "value": "string="}, {"name":"cb", "value": "string="}, {"name": "longitude", "value": "string="}, {"name": "latitude", "value": "string="}, {"name": "scale", "value": "string="}, {"name": "markers", "value": "Array="}, {"name": "polyline", "value": "Array="}, {"name": "polygons", "value": "Array="}, {"name": "circles", "value": "Array="}, {"name": "controls", "value": "Array="}, {"name": "includePoints", "value": "Array="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)create:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序地图组件移除地图
 * 示  例: baiduboxapp://swanAPI/map/remove?params={"mapId":"myMap","slaveId":"5"}&callback=_bdbox_js_233&upgrade=0"
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_remove
 * 备  注:
 * ********** description ************
 * @name:      map.remove
 * @authority: swanAPI
 * @path:      /map/remove
 * @args:      [{"name": "mapId", "value": "string="}, {"name": "componentId","value": "string="},{"name": "slaveId", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)remove:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序地图组件更新地图位置和大小
 * 示  例: baiduboxapp://swanAPI/map/update?params={"mapId":"myMap","slaveId":"5","position":{"left":"20","top":"20","width":"375","height":"200"}}&callback=_bdbox_js_235&upgrade=0",
 "returnValue": "{"status":"0","message":"调起成功"}
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_update
 * 备  注:
 * ********** description ************
 * @name:      map.update
 * @authority: swanAPI
 * @path:      /map/update
 * @args:      [{"name": "mapId",  "value": "string="},  {"name": "componentId","value": "string="}, {"name": "slaveId",  "value": "string"}, {"name": "parentId", "value": "string="}, {"name": "position",  "value": "Object="},  {"name": "hide",  "value": "boolean="},  {"name": "showLocation",  "value": "boolean="},  {"name": "enable3D",  "value": "boolean="},  {"name": "enableRotate",  "value": "boolean="},  {"name": "enableScroll",  "value": "boolean="},  {"name": "enableZoom",  "value": "boolean="},  {"name": "enableOverlooking",  "value": "boolean="},  {"name": "showCompass",  "value": "boolean="},  {"name": "subkey",  "value": "string="},  {"name": "longitude",  "value": "string="},  {"name": "latitude",  "value": "string="},  {"name": "scale",  "value": "string="},  {"name": "markers",  "value": "Array="},  {"name": "polyline",  "value": "Array="},  {"name": "polygons",  "value": "Array="},  {"name": "circles",  "value": "Array="},  {"name": "controls",  "value": "Array="},  {"name": "includePoints",  "value": "Array="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)update:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序地图组件获取中心点的经纬度
 * 示  例: baiduboxapp://swanAPI/map/getCenterLocation?params={"mapId":"myMap","slaveId":"5"}&callback=_bdbox_js_238&upgrade=0
 "returnValue": "{"status":"0","message":"调起成功"}
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_getcenterlocation
 * 备  注:
 * ********** description ************
 * @name:      map.getCenterLocation
 * @authority: swanAPI
 * @path:      /map/getCenterLocation
 * @args:      [{"name": "slaveId", "value": "string"}, {"name": "mapId", "value": "string="}, {"name": "componentId","value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)getCenterLocation:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 平移marker,带动画
 * 示  例: baiduboxapp://swanAPI/map/translateMarker?params={"mapId":"myMap","slaveId":"5","markerId":"1","duration":"1000","destination":{"latitude":"23.10229","longitude":"113.3345211"},"cb":"_bd_box_js_"}&callback=_bdbox_js_246&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_translatemarker
 * 备  注:
 * ********** description ************
 * @name:      map.translateMarker
 * @authority: swanAPI
 * @path:      /map/translateMarker
 * @args:      [{"name": "slaveId", "value": "string"}, {"name": "mapId", "value": "string="}, {"name": "componentId","value": "string="}, {"name": "markerId", "value": "string"}, {"name": "destination", "value": "object"}, {"name": "autoRotate", "value": "boolean"}, {"name": "rotate", "value": "string"}, {"name": "duration", "value": "string="}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)translateMarker:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 缩放视野展示所有经纬度
 * 示  例: baiduboxapp://swanAPI/map/includePoints?params={"mapId":"myMap","slaveId":"5","padding":[10],"points":[{"longitude":"116.394495","latitude":"39.932642"},{"longitude":"116.394495","latitude":"39.110226"},{"longitude":"114.996876","latitude":"38.522789"}]}&callback=_bdbox_js_247&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_includepoints
 * 备  注:
 * ********** description ************
 * @name:      map.includePoints
 * @authority: swanAPI
 * @path:      /map/includePoints
 * @args:      [{"name": "points", "value": "Array"}, {"name": "padding", "value": "Array="}, {"name": "slaveId", "value": "string"}, {"name": "mapId", "value": "string="}, {"name": "componentId","value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)includePoints:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序地图组件-获取当前地图的视野范围
 * 示  例: baiduboxapp://swanAPI/map/getRegion?params={"mapId":"myMap","slaveId":"5"}&callback=_bdbox_js_248&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_getregion
 * 备  注:
 * ********** description ************
 * @name:      map.getRegion
 * @authority: swanAPI
 * @path:      /map/getRegion
 * @args:      [{"name": "slaveId", "value": "string"}, {"name": "mapId", "value": "string="}, {"name": "componentId","value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)getRegion:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序地图组件-将地图中心移动到当前定位点,需要配合map组件的showLocation使用
 * 示  例: baiduboxapp://swanAPI/map/moveToLocation?params={"mapId":"myMap","slaveId":"5"}&callback=_bdbox_js_244&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_movetolocation
 * 备  注:
 * ********** description ************
 * @name:      map.moveToLocation
 * @authority: swanAPI
 * @path:      /map/moveToLocation
 * @args:      [{"name": "slaveId", "value": "string"}, {"name": "mapId", "value": "string="}, {"name": "componentId","value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)moveToLocation:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序地图组件-获取当前地图的缩放级别
 * 示  例: baiduboxapp://swanAPI/map/getScale?params={"mapId":"myMap","slaveId":"5"}&callback=_bdbox_js_250&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_getscale
 * 备  注:
 * ********** description ************
 * @name:      map.getScale
 * @authority: swanAPI
 * @path:      /map/getScale
 * @args:      [{"name": "slaveId", "value": "string"}, {"name": "mapId", "value": "string="}, {"name": "componentId","value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)getScale:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序地图组件查看位置
 * 示  例: baiduboxapp://swanAPI/map/openLocation?params={"mapId":"myMap","slaveId":"5","longitude":113.3245211,"latitude":23.10229,"scale":16,"name":"故宫","ignoredApps":["GaodeMap","AppleMap"]}&callback=_bdbox_js_253&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_openlocation
 * 备  注:
 * ********** description ************
 * @name:      openLocation
 * @authority: swanAPI
 * @path:      /map/openLocation
 * @args:      [{"name": "latitude", "value": "string"}, {"name": "longitude", "value": "string"}, {"name": "name", "value": "string="}, {"name": "address", "value": "string="}, {"name": "scale", "value": "string="}, {"name": "ignoredApps",  "value": "Array="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)openLocation:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序API-获取位置 - 选择地点
 * 示  例: baiduboxapp://swanAPI/map/chooseLocation?params={"cb":"_bdbox_pjs_914"}&callback=_bdbox_js_932&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_chooselocation
 * 备  注:
 * ********** description ************
 * @name:      chooseLocation
 * @authority: swanAPI
 * @path:      /map/chooseLocation
 * @args:      [{"name": "cb", "value": "string"},{"name":"latitude",  "value":"number="},  {"name":"longitude",  "value":"number="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)chooseLocation:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序API-获取位置 - 选择地点
 * 示  例: baiduboxapp://swanAPI/map/openWalkNavigation?params={"latitude":"11.7","longitude":"22.5","cb":"_bdbox_pjs_293"}&callback=_bdbox_js_321&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/swan_map_openwalknavigation
 * 备  注:
 * ********** description ************
 * @name:      baidu.openWalkNavigation
 * @authority: swanAPI
 * @path:      /map/openWalkNavigation
 * @args:      [{"name":"latitude",  "value":"string"},  {"name":"longitude",  "value":"string"},  {"name":"guideKey",  "value":"string="},  {"name":"guideIcon",  "value":"string="},  {"name":"cb",  "value":"string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge", "extension" : "swan"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage", "extension" : "swan"}}}
 */
- (void)openWalkNavigation:(BBASchemeDispatcher *)dispatcher;
@end