React+AMap: Polygon と PolygonEditor を使用すると、ポリゴンを移動するときに頂点がポリゴンと一緒に移動しません

この問題を浅く記録し、成長の痕跡を残します。このバグを修正するために、今回初めて AMap に触れるのですが、まだ AMap を学習して使いこなせていないため、不正確な説明や誤解があるかもしれませんが、ご容赦ください。

プロジェクトで使用される AMap と Polygon はベクター グラフィックス領域を描画し、ポリゴン エディタ PolygonEditor を使用して領域を編集し、ポリゴンの頂点をドラッグしてポリゴンの位置と形状を変更し、ポリゴンのドラッグ可能属性を true に設定します。ポリゴンをドラッグ可能にするには 移動します。問題は、ポリゴンを移動するときに、ポリゴンの頂点が一緒に移動しないことです。 解決策は、ポリゴンの移動イベントをリッスンし、移動後のパス情報を取得して、ポリゴンの頂点の座標を変更することです。

ポリゴンのドラッグは、ポリゴンのドラッグ可能属性に従って制御されます。ポリゴンのドラッグ イベントを使用してみると、イベントが正常にトリガーされます。その後、元の頂点が消えないなどの問題が発生しますが、ドキュメントを読んで少し修正してみてください。修正されたコードと効果は次のとおりです。

// 监听多边形拖动事件
    polygon.current.on('dragging', () => {
      polygonEditor.current.close();//停止编辑对象
      polygonEditor.current.clearAdsorbPolygons();//清空所有的吸附多边形
      const newPath = polygon.current.getPath(); // 获取移动后的多边形路径
      polygon.current.setPath(newPath); // 更新多边形路径
      polygonEditor.current = new AMap.PolyEditor(map.current, polygon.current);//新创建编辑对象
      polygonEditor.current.open();//开始编辑对象
    });

 

 

おすすめ

転載: blog.csdn.net/m0_49623851/article/details/130762446