vue-bmap-jsapi3
Version:
Baidu Map Component for Vue 2.0
172 lines (149 loc) • 5.57 kB
TypeScript
export type ControlAnchor =
'BMAP_ANCHOR_TOP_LEFT' // 控件将定位到地图的左上角
| 'BMAP_ANCHOR_TOP_RIGHT' // 控件将定位到地图的右上角
| 'BMAP_ANCHOR_BOTTOM_LEFT' // 控件将定位到地图的左下角
| 'BMAP_ANCHOR_BOTTOM_RIGHT' // 控件将定位到地图的右下角
export type MapType =
'BMAP_NORMAL_MAP' // 此地图类型展示普通街道视图
| 'BMAP_PERSPECTIVE_MAP' // 此地图类型展示透视图像视图
| 'BMAP_SATELLITE_MAP' // 此地图类型展示卫星视图
| 'BMAP_HYBRID_MAP' // 此地图类型展示卫星和路网的混合视图
export type NavigationControlType =
'BMAP_NAVIGATION_CONTROL_LARGE' // 标准的平移缩放控件(包括平移、缩放按钮和滑块)
| 'BMAP_NAVIGATION_CONTROL_SMALL' // 仅包含平移和缩放按钮
| 'BMAP_NAVIGATION_CONTROL_PAN' // 仅包含平移按钮
| 'BMAP_NAVIGATION_CONTROL_ZOOM' // 仅包含缩放按钮
export type Animation =
'BMAP_ANIMATION_DROP' // 坠落动画
| 'BMAP_ANIMATION_BOUNCE' // 跳动动画
export type ShapeType =
'BMAP_POINT_SHAPE_CIRCLE' // 圆形,为默认形状
| 'BMAP_POINT_SHAPE_STAR' // 星形
| 'BMAP_POINT_SHAPE_SQUARE' // 方形
| 'BMAP_POINT_SHAPE_RHOMBUS' // 菱形
| 'BMAP_POINT_SHAPE_WATERDROP' // 水滴状,该类型无size和color属性
export type SizeType =
'BMAP_POINT_SIZE_TINY' // 宽高为2px*2px
| 'BMAP_POINT_SIZE_SMALLER' // 宽高为4px*4px
| 'BMAP_POINT_SIZE_SMALL' // 宽高为8px*8px
| 'BMAP_POINT_SIZE_NORMAL' // 宽高为10px*10px,为海量点默认尺寸
| 'BMAP_POINT_SIZE_BIG' // 宽高为16px*16px
| 'BMAP_POINT_SIZE_BIGGER' // 宽高为20px*20px
| 'BMAP_POINT_SIZE_HUGE' // 宽高为30px*30px
export type TransitPolicy =
'BMAP_TRANSIT_POLICY_LEAST_TIME' // 最少时间
| 'BMAP_TRANSIT_POLICY_LEAST_TRANSFER' // 最少换乘
| 'BMAP_TRANSIT_POLICY_LEAST_WALKING' // 最少步行
| 'BMAP_TRANSIT_POLICY_AVOID_SUBWAYS' // 不乘地铁
export type DrivingPolicy =
'BMAP_DRIVING_POLICY_LEAST_TIME' // 最少时间
| 'BMAP_DRIVING_POLICY_LEAST_DISTANCE' // 最短距离
| 'BMAP_DRIVING_POLICY_AVOID_HIGHWAYS' // 避开高速
export type MapTypeControlType =
'BMAP_MAPTYPE_CONTROL_HORIZONTAL' // 按钮水平方式展示,默认采用此类型展示
| 'BMAP_MAPTYPE_CONTROL_DROPDOWN' // 按钮呈下拉列表方式展示
| 'BMAP_MAPTYPE_CONTROL_MAP' // 以图片方式展示类型控件,设置该类型后无法指定maptypes属性
export type SymbolShapeType =
'BMap_Symbol_SHAPE_CIRCLE' // 圆形,默认半径为1px
| 'BMap_Symbol_SHAPE_RECTANGLE' // 矩形,默认宽度4px、高度2px
| 'BMap_Symbol_SHAPE_RHOMBUS' // 菱形,默认外接圆半径10px
| 'BMap_Symbol_SHAPE_STAR' // 五角星,五角星外接圆半径为10px
| 'BMap_Symbol_SHAPE_BACKWARD_CLOSED_ARROW' // 箭头方向向下的闭合箭头
| 'BMap_Symbol_SHAPE_FORWARD_CLOSED_ARROW' // 箭头方向向上的闭合箭头
| 'BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW' // 箭头方向向下的非闭合箭头
| 'BMap_Symbol_SHAPE_FORWARD_OPEN_ARROW' // 箭头方向向上的非闭合箭头
| 'BMap_Symbol_SHAPE_POINT' // 定位点图标
| 'BMap_Symbol_SHAPE_PLANE' // 预设的飞机形状
| 'BMap_Symbol_SHAPE_CAMERA' // 预设的照相机形状
| 'BMap_Symbol_SHAPE_WARNING' // 预设的警告符号
| 'BMap_Symbol_SHAPE_SMILE' // 预设的笑脸形状
| 'BMap_Symbol_SHAPE_CLOCK' // 预设的钟表形状
/**
* 以像素表示一个矩形区域的大小。
*/
export type Size = { width: number, height: number }
/**
* 表示一个地理坐标点
*/
export type Point = { lng: number, lat: number }
export interface SymbolOptions {
anchor: Size,
fillColor: string,
fillOpacity: number,
scale: number,
rotation: number,
strokeColor: string,
strokeOpacity: number,
strokeWeight: number
}
/**
* 此类表示通过svg的path string创建的矢量图标类
*/
export interface Symbol {
path: string | SymbolShapeType,
opts: SymbolOptions
}
/**
* 此类用于设置polyline上的符号显示。
*/
export interface IconSequence {
symbol: Symbol,
offset: string,
repeat: string,
fixedRotation?: boolean
}
export interface IconOptions {
anchor: Size,
imageOffset: Size,
imageSize: Size,
infoWindowAnchor: Size,
printImageUrl: string
}
export interface Icon {
url: string,
size: Size,
opts: IconOptions
}
/**
* 创建一个包含所有给定点坐标的矩形区域。
* 其中sw表示矩形区域的西南角,
* 参数ne表示矩形区域的东北角
*/
export interface Bounds {
sw: Point,
ne: Point
}
/**
* 表示一条版权信息
*/
export interface Copyright {
id: number,
content: string,
bounds?: Bounds
}
export interface PredictDate {
// 预测日期,取值1到7,表示周一到周日
weekday: number,
// 预测小时数,取值0到23,表示当日的0点到23点
hour: number
}
// 详见:http://lbsyun.baidu.com/cms/jsapi/class/jsapi_reference.html#a7b5
interface LocalResultPoi {
title: string,
point: Point,
url: string,
address: string,
city: string,
phoneNumber: string,
postcode: string,
type: any,
isAccurate: boolean,
province: string,
tags: string[],
detailUrl: string
}
export interface MapStyle {
style: string,
featrues: any[],
styleJson: any[]
}