huiyan-fe / BMapGLLib

百度地图JSAPI GL版JavaScript开源工具库
MIT License
346 stars 126 forks source link

有MarkerCluster的webgl版本吗 #11

Open sunkingsss opened 3 years ago

sunkingsss commented 3 years ago

如题

Junior2Ran commented 3 years ago

可以用mapvgl的聚合图层https://mapv.baidu.com/gl/docs/ClusterLayer.html

sunkingsss commented 3 years ago

谢谢,这样做确实可以显示出聚合图层,但是假如我点击单个的点,好像无法显示对应的信息窗口吧,因为百度地图使用Marker,但是mapvgl是geometry,无法使用Marker. openInfoWindow的方法打开信息窗口

Junior2Ran commented 3 years ago

可以点击之后,手动调用infowindow

sunkingsss commented 3 years ago

不好意思,请问一下,按照您说的直接调用map.openInfoWindow可以打开窗口,但是第二次打开往往要点击好3-4次才能打开,请问这个是什么原因? onClick(e) { map.closeInfoWindow() if (e.dataItem) { const coordinates = e.dataItem.geometry.coordinates const p = new BMapGL.Point(coordinates[0],coordinates[1]) map.openInfoWindow(infoWindow, p); } }

hunt-jo commented 3 years ago

不好意思,请问一下,按照您说的直接调用map.openInfoWindow可以打开窗口,但是第二次打开一般要点击好3-4次无法打开,请问是什么原因? onClick(e) { map.closeInfoWindow( ) if (e.dataItem) { const坐标 = e.dataItem.geometry.coordinates const p = new BMapGL.Point(coordinates[0],coordinates[1]) map.openInfoWindow(infoWindow, p); } }

不好意思,请问一下,按照您说的直接调用map.openInfoWindow可以打开窗口,但是第二次打开一般要点击好3-4次无法打开,请问是什么原因? onClick(e) { map.closeInfoWindow( ) if (e.dataItem) { const坐标 = e.dataItem.geometry.coordinates const p = new BMapGL.Point(coordinates[0],coordinates[1]) map.openInfoWindow(infoWindow, p); } }

我也遇到了,后面实现是根据鼠标在地图点击的clientX,Y弹出自定义的div,不过无法根据地图拖动而移动弹窗。infoWindow的demo也只是在默认样式的marker上成功实现