我有一个地图,每当用户单击地图以绘制多边形时,我都会在其中显示标记。现在,我想允许用户编辑已经设置的标记。这意味着他应该能够轻拂标记并将其拖动到所需位置。
为了只编辑一个标记的位置,我需要标识一个要拖动的标记,以便将更改的位置传递到相应的标记。
我正在尝试在我的eventHandler中执行此操作,因为在这里我可以获得有关Marker的更多信息。这是我的处理程序之一,也是应该进行所有位置更新的处理程序。
[EventUtils.DRAG_END]: (event, details) => {
const target = event.target;
if (target instanceof H.map.Marker) {
this.disableMapBehaviour = false;
const id = target.getId();
this.props.onDrag(details.calculateGeoCoords(), id);
this.forceUpdate();
}
我的问题是getId()
函数总是给我随机ID。例如,当我设置10个标记时,标记ID的顺序如下:
为什么地图会随机设置ID,而不像1,2,3,4,5 ...?
还是我做错了什么?我是否应该使用event.target.getId()
答案 0 :(得分:1)
摘要:地图不会随机设置ID。是我在拖动完成后没有拼接标记数组的。现在可以与getId()正常工作