@quec/rn-map-component
v1.4.18
Published
quec rn地图组件
Downloads
1
Readme
QuecRNMapComponent
移远App地图插件
类型|版本|适用平台|负责人 -|-|-|- component|1.4.18|iOS , Android|[email protected]
MapConfig
地图初始化相关
方法
startMap()
地图初始化方法,在使用地图前必须调用。
getMapType()
获取地图类型,返回值1为百度,2为谷歌。
Geolocation
地图定位相关
方法
geolocation.initSDK()
初始化定位SDK,在使用其它方法前必须调用。
geolocation.start()
开始持续定位。
geolocation.stop()
结束持续定位。
geolocation.addListener(listener)
添加定位回调监听,listener参数为函数类型
geolocation.setOptions(options)
自定义定位SDK配置项,其中options支持以下配置:
| 字段 | 说明 | | ------------------------- | ------------------------------------------------------------ | | coorTyep | 返回经纬度坐标类型, 仅支持百度,示例coorTypes.BMK09LL | | scanSpan | 设置发起定位请求的间隔,int类型,单位ms,仅限android,默认8000 | | openGps | 设置是否使用gps,仅限android, 仅支持百度,默认true | | needDeviceDirect | 在网络定位时,是否需要设备方向,仅限android, 仅支持百度,默认true | | backgroundLocationUpdates | 启动后台定位,仅限ios,默认false | | distanceFilter | 设定定位的最小更新距离,仅限ios,默认8米 |
geocode(address, city)
地理编码,address参数为地址,city参数为城市,Promise返回经纬度信息。
reverseGeoCode(lat, lng)
逆地理编码,lat参数为纬度,lng参数为经度,Promise返回地址信息。
getSquareCornerLocations(lat, lng, radius)
获取正方形区域的4个边角经纬度信息,lat参数为正方形中心点纬度,lng参数为正方形中心点经度,radius为中心点到正方形单边的距离,单位是米,Promise返回边角经纬度数组。
getDistanceMeters(lat1, lng1, lat2, lng2)
获取AB两点之间的距离,(lat1, lng1)和(lat2, lng2)分别代表AB两点经纬度,Promise返回距离,单位是米。
convertWGS84ToBD09(lat, lng)
WGS84坐标转BD09坐标,仅百度支持;
convertWGS84ToGCJ02(lat, lng)
WGS84坐标转GCJ02坐标,仅百度支持
convertBD09ToGCJ02(lat, lng)
BD09坐标转GCJ02坐标,仅百度支持
convertGCJ02ToBD09(lat, lng)
GCJ02坐标转BD09坐标,仅百度支持
Search
poi搜索相关
方法
searchPoi.searchInCity(city, keyword, pageNum)
POI城市内检索(关键字检索),city 城市名称,keyword 关键字,分页编号,Promise默认返回第0页结果
searchPoi.searchNearby(options)
周边检索,Promise返回结果,options支持以下配置:
| 字段 | 说明 | | --------- | -------- | | latitude | 纬度 | | longitude | 经度 | | keyword | 关键字 | | pageNum | 分页编号 | | radius | 半径 |
suggestion.requestSuggestion(city, keyword)
请求搜索推荐结果,city 城市,keyword 关键字,Promise返回结果
suggestion.requestSuggestionWithOrigin(city, keyword, origin)
指定位置搜索推荐结果,city 城市,keyword 关键字,origin 地址经纬度{latitude:number, longitude:number},Promise返回结果
RoutePlanSearch
路径规划相关
方法
walkingRouteSearch(option)
步行路径规划,option支持以下配置:
| 字段 | 说明 | | ------------- | ------------------------------------------------------------ | | startCity | 起点城市 | | startAddress | 起点位置 | | endCity | 终点城市 | | endAddress | 终点位置 | | city | 起点与终点是同一个城市, city, startCity, endCity同时使用,起点与终点都使用city | | startLocation | 起点坐标位置 {latitude, longitude} | | endLocation | 终点坐标位置 {latitude, longitude} |
drivingRouteSearch(option)
驾车路径规划,option支持以下配置:
| 字段 | 说明 | | ----------------- | ------------------------------------------------------------ | | startCity | 起点城市 | | startAddress | 起点位置 | | endCity | 终点城市 | | endAddress | 终点位置 | | city | 起点与终点是同一个城市, city, startCity, endCity同时使用,起点与终点都使用city | | startLocation | 起点坐标位置 {latitude, longitude} | | endLocation | 终点坐标位置 {latitude, longitude} | | trafficPolicyType | 是否开起路况,ROUTE_PATH: 0, //不开启路况,ROUTE_PATH_AND_TRAFFIC: 1, //开启路况 | | drivingPolicyType | 驾车策略, 默认时间优先,ECAR_TIME_FIRST: 0, // 时间优先策略,ECAR_AVOID_JAM: 1, // 躲避拥堵策略,ECAR_DIS_FIRST: 2, //最短距离策略,ECAR_FEE_FIRST: 3, // 费用较少策略 | | wayPoints | [{latitude, longitude}]途经点 |
bikingRouteSearch(option)
骑行路径规划,option支持以下配置:
| 字段 | 说明 | | ------------- | ------------------------------------------------------------ | | startCity | 起点城市 | | startAddress | 起点位置 | | endCity | 终点城市 | | endAddress | 终点位置 | | city | 起点与终点是同一个城市, city, startCity, endCity同时使用,起点与终点都使用city | | startLocation | 起点坐标位置 {latitude, longitude} | | endLocation | 终点坐标位置 {latitude, longitude} | | ridingType | 骑行类型(0:普通骑行模式,1:电动车模式)默认是普通模式 |
transitRoutePlan(option)
市内公交路线规划,option支持以下配置:
| 字段 | 说明 | | ------------- | ------------------------------------------------------------ | | startCity | 起点城市 | | startAddress | 起点位置 | | endCity | 终点城市 | | endAddress | 终点位置 | | city | 起点与终点是同一个城市, city, startCity, endCity同时使用,起点与终点都使用city | | startLocation | 起点坐标位置 {latitude, longitude} | | endLocation | 终点坐标位置 {latitude, longitude} | | policyType | 换乘策略, 默认时间优先,EBUS_TIME_FIRST: 0, // 时间优先策略,EBUS_TRANSFER_FIRST: 1, // 最少换乘,EBUS_WALK_FIRST: 2, //最少步行距离,EBUS_NO_SUBWAY: 3, // 不含地铁 |
QMapModule
第三方地图跳转相关
方法
gotoRoutePlanning(data)
跳转第三方地图,data参数需要实现GoToRoutePlanningData接口
| 字段 | 说明 | | --------------- | ------------------------------------------------------------ | | type | 第三方地图类型 0 百度地图导航,1 高德地图导航,2:google地图导航 3:apple地图导航 | | coordType | 经纬度坐标系,BD09、GCJ02、WGS84 | | originLongitude | 起点经度,为空表示当前位置 | | originLatitude | 起点纬度,为空表示当前位置 | | origin | 起点名称,起点经纬度为空时无效 | | targetLongitude | 终点经度,为空表示当前位置 | | targetLatitude | 终点纬度,为空表示当前位置 | | target | 终点名称,起点经纬度为空时无效 | | mode | 跳转3方地图APP 路径规划对应的类型,0驾车 1公交 2步行 3骑行, 默认0 | | rideType | 高德地图且骑行模式下,骑行类型 0 电动车 1自行车,默认1 |
getInstalledMapApps()
获取已安装地图应用,Promise返回地图列表,元素值对应GoToRoutePlanningData接口中的type字段定义。
MapView
地图控件
属性
| 字段 | 类型 | 说明 | | -------------------------- | ------ | ------------------------------------------------------------ | | zoom | number | 地图缩放级别 百度[4,21] 谷歌[1,20] | | zoomMaxLevel | number | 地图最大缩放级别,百度最大21 Google 最大20 | | zoomMinLevel | number | 地图最小缩放级别,百度最小4 Google最小1 | | trafficEnabled | bool | 显示交通路线 | | zoomControlsVisible | bool | 显示放大缩小按钮 | | baiduHeatMapEnabled | bool | 显示百度热力图层(百度仅有) | | type | number | 地图类型 1: 标准地图 2: 卫星地图 3:空白地图 | | locationEnabled | bool | 显示当前定位位置 | | centerLatLng | object | 地图中心点位置,{latitude:0, longitude:0} | | zoomGesturesEnabled | bool | 设置是否允许缩放手势 | | scrollGesturesEnabled | bool | 是否允许拖拽手势 | | overlookingGesturesEnabled | bool | 是否允许俯视手势 | | rotateGesturesEnabled | bool | 是否允许旋转手势 | | mapCustomStyleFileName | string | 用于设置个性化地图的样式文件 | | onMapClick | func | 点击地图 | | onMapPoiClick | func | 点击地图地点 | | onMapLongClick | func | 长按地图 | | onMapDoubleClick | func | 双击地图 (百度仅有) | | onMapStatusChange | func | 地图状态变化 (百度仅有) | | onMapLoaded | func | 地图加载完成 | | onMarkerClick | func | 点击marker | | onMarkerDrag | func | 拖拽marker | | mapLogoPosition | number | 百度地图logo位置 0: 地图左下方 1: 地图左上方 2: 地图中下方 3: 地图中上方 4: 地图右下方 5: 地图右上方 |
方法
setCenter(center)
设置地图中心,center参数为经纬度,{latitude:0, longitude:0}
setZoom(zoomLevel)
设置地图缩放,zoomLevel为缩放级别
setZoomToSpanMarkers(zoomToSpanMarkers)
显示地图中所有的marker点,zoomToSpanMarkers为markers经纬度数组,[{latitude:0, longitude:0}]
Marker
大头针控件
属性
| 字段 | 类型 | 说明 | | ----------------------------- | ------ | ------------------------------------------------------------ | | title | string | 标题 | | location | object | 经纬度位置,{latitude:0, longitude:0} | | icon | string | 图片路径 | | draggable | bool | 是否可拖拽 | | active | bool | 是否显示infowindow | | zIndex | number | 设置marker层级 | | infoWindowYOffset | number | infowindow y轴偏移,百度是像素偏移,谷歌是锚点偏移(0.0f ~ 1.0f) | | scale | number | icon缩放大小, 仅android | | perspective | bool | 是否开启近大远小效果, 仅android | | alpha | number | 透明度, 仅android | | rotate | number | 旋转角度, 仅android | | flat | bool | 是否平贴地图, 仅android | | infoWindowMinHeight | number | infoWindow 最小高度, 仅android | | infoWindowMinWidth | number | infoWindow 最小宽度, 仅android | | infoWindowTextSize | number | infoWindow 字体, 仅android | | anchor | object | 覆盖物的锚点比例{x: 0.5, y: 1}, xy取值范围[0.0f , 1.0f], 否则不生效。仅在百度地图的android和google地图生效,百度地图的IOS使用centerOffset | | centerOffset | object | 默认情况下, annotation view的中心位于annotation的坐标位置,可以设置centerOffset改变view的位置,正的偏移使view朝右下方移动,负的朝左上方,单位是像素。仅在百度地图中IOS生效。其他请使用anchor,类型同anchor | | clickable | bool | 覆盖物是否可以点击,仅仅百度地图 | | hideInfoWindowWhenTapOnMap | bool | 当发生单击/双击/双指捏合地图事件时,当前marker上的infoWindow是否隐藏 | | hideInfoWindowWhenTapOnMarker | bool | 当选中其他marker/拖拽当前marker/拖拽其他marker时,当前marker上的infoWindow是否隐藏 |
Arc
圆弧覆盖物,仅百度支持
属性
| 字段 | 类型 | 说明 | | ------ | ------ | ------------------------------------------------------------ | | points | array | 坐标点列表,长度为3,代表起点,中间点,结束点,[{latitude: 0, longitude: 0}] | | width | number | 宽度 | | color | string | 颜色 |
Circle
圆圈覆盖物
属性
| 字段 | 类型 | 说明 | | -------------- | ------ | ------------------------------------- | | circleCenter | object | 圆心坐标,{latitude: 0, longitude: 0} | | radius | number | 圆形半径 | | color | string | 边框颜色 | | width | number | 边框宽度 | | fillColor | string | 填充颜色 | | fillColorAlpha | number | 圆形背景颜色透明度,仅ios | | dottedStroke | bool | 是否绘制虚线,仅百度支持 |
Polygon
多边形覆盖物
属性
| 字段 | 类型 | 说明 | | -------------- | ------ | ------------------------------------------- | | points | array | 多边形坐标点,[{latitude: 0, longitude: 0}] | | color | string | 边框颜色 | | width | number | 边框宽度 | | fillColor | string | 填充颜色 | | fillColorAlpha | number | 多边形背景颜色透明度,仅ios | | dottedStroke | bool | 是否绘制虚线,仅百度支持 |
Polyline
线段覆盖物
属性
| 字段 | 类型 | 说明 | | ---------- | ------ | ------------------------------------------- | | points | array | 多边形坐标点,[{latitude: 0, longitude: 0}] | | color | string | 线段颜色 | | width | number | 线段宽度 | | dottedLine | bool | 是否绘制虚线,仅百度支持 |
InfoWindow
marker上方的弹窗控件,可在此控件下自定义子视图
属性
| 字段 | 类型 | 说明 | | ------- | ---- | -------------- | | onTouch | func | 点击infoWindow |
Trajectory
轨迹覆盖物
属性
| 字段 | 类型 | 说明 | | ----------------- | ----------- | ---------------------------------------------- | | trajectoryType | number | 轨迹类型,0代表线,1代表点 | | trackPoints | TrackPoints | 轨迹点map | | pinIcon | any | 大头针图标 | | speed | number | 速度 轨迹整体动画时间:去噪抽稀之后的点/speed | | width | number | 轨迹类型为0时生效 轨迹线宽度 | | color | string | 轨迹类型为0时生效 轨迹线已播放颜色 | | bgColor | string | 轨迹类型为0时生效 轨迹线未播放颜色或者说背景色 | | playedPointIcon | any | 轨迹类型为1时生效 轨迹点已播放图标 | | unplayedPointIcon | any | 轨迹类型为1时生效 轨迹点未播放图标 | | onProgressEvent | func | 播放进度回调 |
方法
play()
轨迹播放
pause()
轨迹暂停播放
reset()
轨迹播放重置
setPlayProgress(progress)
设置播放进度,0~1
HeatMap
热力图覆盖物
属性
| 字段 | 类型 | 说明 | | ------------------- | ------------- | ------------------------------------------------------------ | | pointsInfo | HeatMapPoints | 轨迹点map,类型具体见HeatMapPoints接口 | | radius | number | 热力图点半径,默认为50ps,范围[10~50] | | opacity | number | 热力图层透明度,默认 0.6,范围[0~1] | | gradientColors | string[] | 热力图渐变颜色数组,默认[0x0000c8,0x00e100,0xff0000] | | gradientStartPoints | number[] | 热力图渐变起始点数组,默认[@0.08, @0.4, @1.0],数量必须和颜色数组数量保持一致 |