react-baidu-map
react-baidu-map copied to clipboard
typescript 中 Marker icon 属性无法传入 BMap.Symbol 对象
示例代码:
const CustomMap = () => {
const iconShapePoint = new BMap.Symbol(BMap_Symbol_SHAPE_POINT, {
scale: 2, // 图标缩放大小
fillColor: 'orange', // 填充颜色
fillOpacity: 0.8, // 填充透明度
});
return (
<Map zoom={5}>
<Marker
position={{ lng: 116.397128, lat: 39.916527 }}
icon={iconShapePoint}
/>
</Map>
);
};
提示如下:
Type 'Symbol' is missing the following properties from type 'Icon': setImageSize, setImageOffset, setInfoWindowAnchor, setPrintImageUrl
@xyxc0673 Marker 不接受 Symbol 类型 的图标,下面是官方 api 截图
我在组件的文档里面看到这样的例子: https://codesandbox.io/s/m9p2nb 然后百度的示例中心有这样的例子: https://lbsyun.baidu.com/jsdemo.htm#c1_20
如果按照官方 API 的截图就有点奇怪了。
@xyxc0673 我看了官方示例确实有,但是是 2.0 的API
如果 3.0 的不知道是否删除,我建议你使用 // @ts-ignore
跳过 typescript 错误,看效果出来了没有
如果出来效果说明 API 还没有删除,那么你可以提交一个 pr 补充这个类型。 并标注过时 API
@jaywcjlove 通过 // @ts-ignore 的方式确实能够出来效果,说明 3.0 仍然支持传入 Symbol 我有空提交个 PR
参考google的Marker的设计思路,百度应该是支持Symbol的。 按照百度的3.0参考Api的确存在问题。可能百度也没想好如何定义这块。但是功能的确是存在的。