簡體   English   中英

如何識別地圖上的設置標記?

[英]How to identifiy a set marker on the map?

我有一張地圖,每當用戶單擊地圖以繪制Polygon時,我都會在其中顯示標記 現在我想允許用戶編輯一個已經設置的標記。 這意味着他應該能夠點擊標記並將其拖到所需的位置。

為了僅編輯一個標記的位置,我需要識別正在拖動的一個標記,以便將更改后的位置傳遞給相應的標記。

我試圖在我的 eventHandler 中執行此操作,因為在這里我可以獲得有關標記的更多信息。 這是我的處理程序之一和所有位置更新都應該發生的處理程序。

[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 的序列如下所示:

  • 1 個標記的 ID 為 2
  • 2 標記的 ID 為 3
  • 3 標記的 ID 為 5
  • 4 個標記的 ID 為 6……其余的總是不同的。

為什么 Map 隨機設置 ID 而不是 1,2,3,4,5... ?

或者我做錯了什么? 我應該使用event.target.getId()以外的其他東西嗎

總結:地圖不會隨機設置 Id。 拖完后沒有拼接Markers陣列的是我。 現在使用 getId() 可以正常工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM