Closed danranshizhi closed 6 years ago
建议通过npm install使用,这样使用的是打包发布过的代码,最好不要通过Copy源文件的方式。
回答你的问题:
static propTypes = {
[MAP]: PropTypes.object,
[MARKER_CLUSTERER]: PropTypes.object
};
这里需要babel-plugin-transform-class-properties支持才能转换static属性
如果不想装,把定义移到class下
Marker.propTypes = {
[MAP]: PropTypes.object,
[MARKER_CLUSTERER]: PropTypes.object
};
直接不可以使用你的Marker.js这个文件夹吗?我在Marker.js里面按照楼主上面说的,将static那个移到class Marker...的下面,还是addOverlay undefined
楼主的源码我直接download下来,用的Marker.js这个文件
如果直接使用源码,请确保没有漏文件,以及依赖的babel plugin都装上。不太确定你的错误原因,最好能在codesandbox或者codepen上放一下能重现的代码。
在项目中直接通过npm install react-baidu-maps --save得方式安装使用,因为需要用到Marker,所以直接download下来你的源码,然后将overlay和util文件夹直接放在项目中,就出现了addOverlay undefined 换句话说,如果安装你这个插件,要用到polyline ,cricle这些,要怎么样使用?
不太理解为什么你已经npm安装了,还要引入源码,所有的组件都已经export了。 Overlay的使用请参考README和Overlay的Sample,BaiduMaps自带的Overlay都抽象成了React组件,能设置的属性已在组件的PropTypes上描述,基本上和BaiduMap自身的一一对应。
import { BaiduMap, Marker } from 'react-baidu-maps';
<BaiduMap
mapUrl={`http://api.map.baidu.com/api?v=2.0&ak=${MAP_KEY}`}
mapContainer={<div style={{ height: '100%' }} />} >
<Marker position={{ lng: 116.404, lat: 39.915 }} />
</BaiduMap>
直接将overlays和untils的文件夹,放在项目目录中,使用时,报错Cannot read property 'addOverlay' of undefined
Marker.js里面我改了一个地方 constructor(props) { super(props); const propTypes = {
} 放在constructor的外面会报错,打包会报错,改成上面这个样子,打包不报错了,但是运行时,addOverlay undefined,请问楼主这个要怎么样处理?