0.3.1 • Published 4 years ago

baidumap-draw v0.3.1

Weekly downloads
-
License
ISC
Repository
github
Last release
4 years ago

baidumap-draw

一个对百度地图进行3D、平面编辑的组件。


目前 react 测试成功,期待您的使用。

Install

首先要去百度地图api网站申请百度ak码(具体过程不做详解):

https://lbsyun.baidu.com/index.php

https://lbsyun.baidu.com/index.php?title=jspopularGL/guide/getkey

申请成为百度开发者,并获取密匙,然后执行:

npm i baidumap-draw

Usage

import React from 'react'
import {BaiduApp} from "baidumap-draw";

class App extends React.Component {
    render() {
        return (
            <div>
                <BaiduApp BaidumapAk={'您的百度申请的Ak码'}  />
            </div>
        )
    }
}

export default App

此时百度地图应该已经加载完成。

configure

BaiduApp:

参数名称数据类型默认值必填备注
BaidumapAkstringnullyes百度地图ak码,需要自己申请
isDeveloperEditPropBooleanfalseno是否开启开发者模式
isEditPropfunnullno开发模式下,点击编辑,返回的函数(boolean)
resuleFunfunnullno开发模式下,点击完成,返回的函数(里面是数据)
baiduMapFunfunnullno返回地图实例,(map)
isAnimsmapBooleanfalseno是否开启动画
keypatherAnimarraynullno动画帧
baiduOptionobject{coordinateItem: { lng: 116.40372656609907, lat: 39.915103900724574 }, zoomItem: 18, headingItem: 0, tiltItem: 60, mapTypeItem: "normal"}no百度基础参数配置
baiduDataobjectnullno百度地图数据
onMapOverClickFunfunnullno左键 鼠标单击某一建筑物 返回单击事件- 非编辑模式下
onMapOverdbClickFunfunnullno左键 鼠标双击某一建筑物 返回双击事件- 非编辑模式下
addDataResultFunfunnullno添加时候返回的数据方法 - 编辑模式下
delDataResultFunfunnullno删除时候返回的数据方法 - 编辑模式下
keyCustomDataarray{ title: '图1', img: '', dom: 'dom2', }, { title: '图2', img: '', dom: 'dom1', }no自定义图层key,添加自定义图层时的列表。

baiduOption(object)

参数名称数据类型默认值必填备注
coordinateItemobject{ lng: number, lat: number }no定位点的坐标 基础坐标中心
zoomItemnumber18no地图缩放级别
headingItemnumber0no地图旋转角度
tiltItemnumber60no倾斜角度
mapTypeItemstringnormalno"normal" - "earth" 地图类型,普通地图或地球模式
StyleItemarray暗黑模式no预加载样式(百度地图自己可配置下载json格式)https://lbsyun.baidu.com/index.php?title=open/custom

baiduData(object)

参数名称数据类型默认值必填备注
layerDataMaparraynullno图层数据(暂未开发)
standDataPoylonarraynullno3d数据-多边形
planeDataPolyLinearraynullno数据平面-线
planeDataPolyGonarraynullno数据平面-多边形
planeDataMarkerarraynullno数据平面-点
planeDataLabelarraynullno数据平面-文本
planeDataCustomarraynullno数据平面-自定义覆盖物
planeDataCriclearraynullno数据平面-圆
le:(颜色用rgba(x,x,x,x))
baiduData: {
                planeDataPolyLine: [
                    {
                        isClick: true,
                        isDbClick: true,
                        data: [ [ 116.40216642578604, 39.91293345549466 ], [ 116.40567144581301, 39.912155489217305 ] ],
                        style:{
                            strokeColor:'rgba(226,14,14,0.9)',
                            strokeStyle:'solid',
                            strokeWeight:5
                        }
                    }
                ],
                planeDataCricle:[
                    {
                        isClick: true,
                        isDbClick: true,
                        data: [ 116.40821957491076 , 39.91658901250462 ],
                        radius:50,
                        style:{
                            strokeColor:'rgba(14,141,226,0.5)',
                            strokeStyle:'dashed',
                            strokeWeight:2,
                            fillColor:'rgba(14,141,226,0.9)'
                        }
                    }
                ],
                planeDataMarker:[
                    {
                        isClick: true,
                        isDbClick: true,
                        data:[116.4000107001605 , 39.912210933313865],
                        title:'测试',
                        style:{
                            backgroundColor:'rgba(14,141,226,0.5)',
                            borderColor:'rgba(219,14,226,0.9)',
                            color:'rgba(14,141,226,0.9)'
                        }
                    }
                ],
                planeDataPolyGon:[
                    {
                        isClick: true,
                        isDbClick: true,
                        data: [ [ 116.40280645121443 , 39.91204849608175 ], [ 116.40429502869365 , 39.91101356694463 ],[ 116.40399668957616 , 39.912124108901196] ],
                        style:{
                            strokeColor:'rgba(14,141,226,0.5)',
                            strokeStyle:'dashed',
                            strokeWeight:2,
                            fillColor:'rgba(14,141,226,0.9)'
                        }
                    }
                ],
                planeDataLabel:[
                    {
                        data:[116.40430786673703 , 39.91299171941463],
                        isClick: true,
                        isDbClick: true,
                        title:'测试',
                        style:{
                            color:'rgba(14,141,226,0.9)',
                            borderColor: 'rgb(11,231,239)',
                            backgroundColor: 'rgb(160,67,164)',
                        }
                    }
                ],
                planeDataCustom:[
                    {
                        data:[116.40538449289751 , 39.91061798023587],
                        isClick: true,
                        isDbClick: true,
                        title:'测试',
                        style:{
                            dom:'<div style="color: #fdb505;width: 50px;background-color: #34658a">王永平</div>'
                        }
                    }
                ],
                standDataPoylon:[
                    {
                        data:[[116.39971617003802 , 39.91332672213205],[116.40102605137504 , 39.91339112709837],[116.4011740463095 , 39.912920112558744],[116.40002896351999 , 39.91276781108638]],
                        isClick: true,
                        isDbClick: true,
                        height:50,
                        style: {
                            topFillColor:'rgba(0,197,255,1)',
                            sideFillColor:'rgba(25,82,102,1)',
                        }
                    }
                ],
            }

contact

  • email: 1763907618@qq.com
  • qq: 1763907618
  • author: wangyongping

如果项目有bug,请及时提出,后续将持续开发,欢迎留言!!