約 1 分鐘閱讀

Read in English →

AngularUI:處理Google地圖標記的滑鼠懸停事件

我花了一些時間才弄清楚這個問題,所以我覺得這個問題值得一篇自己的博客文章。當我試著用AngularUI連接Google Map標記的滑鼠懸停事件時,我發現自己很困惑。文件在這件事情上很含糊,說它只支援單一標記,而不支援多個標記。

問題:

我花了一些時間才弄清楚這個問題,所以我覺得這個問題值得一篇自己的博客文章。當我試著用AngularUI連接Google Map標記的滑鼠懸停事件時,我發現自己很困惑。文件在這件事情上很含糊,說它只支援單一標記,而不支援多個標記。

對於單一標記,只需要在HTML中指定一個帶有 events 屬性的指令就很直接:

<ui-gmap-marker events="marker.events"></ui-gmap-marker>

然後在控制器中:

$scope.marker = {
  events: {
    mouseover: function (marker, eventName, args) {
      // 回調代碼在此
    },
  },
};

然而,相同的做法不適用於多個標記。我最初以為我可以簡單地為每個標記添加滑鼠懸停事件,就像這樣:

markers.push({
  events: {
    mouseover: function (mapModel, eventName, originalEventArgs) {
      console.log("I'd really like to show the info window on mouseover.");
    },
  },
});

我的解決方案:

為了解決這個問題,將以下內容添加到HTML markers 指令:

events="clickEventsObject"

並在控制器中:

$scope.clickEventsObject = {
  mouseover: markerMouseOver,
  mouseout: markerMouseOut,
};

function markerMouseOver(marker, e) {
  // 回調代碼在此
}

function markerMouseOut(marker, e) {
  // 回調代碼在此
}

它成功了!這個處理程序返回一個直接映射的模型陣列,該陣列屬於與事件一起發送的gMarker集群。如果你有任何問題,請隨時向我提問。😊

繼續探索這個主題

  • 新興市場的企業管治

    對全球投資者與企業擁有人而言,企業管治早已不再只是合規或附屬議題,而是資本配置、風險管理與長期價值創造的核心。中國、巴西與南韓提供了三種截然不同、卻同樣具啟發性的企業管治發展路徑。這些路徑深受歷史、所有權結構與監管選擇所塑造,放在一起觀察,有助我們理解企業管治如何演進、其內在張力何在,以及投資者與控股家族可汲取的實務經驗。

  • 溝通如何塑造全球資產管理中的信任與治理

    企業治理很少是在戲劇化的董事會瞬間中被決定的。它往往是在更安靜、更持續的層面上被塑造——體現在董事收到的資訊品質、決策被呈現與討論的紀律,以及組織與其股東、監管機構、客戶和員工溝通的一致性之中。董事會有效性的「六個 C」——能力、投入、貢獻、質疑、協作與文化——並非抽象的理想,而是最清楚地反映在溝通之中,因為溝通揭示了董事會選擇透明化的內容、選擇加以管…

  • 什麼才是真正界定一位高效能董事的關鍵?

    企業治理的成敗,最終取決於圍繞董事會桌旁的那一群人。制度、守則與架構固然重要,但它們的效能,終究取決於董事所具備的判斷力、誠信與專業能力。在當今環境下,董事會同時被期望監督策略、風險、企業文化與信任,董事的遴選與行為,理應受到比單純檢視履歷與名聲更嚴謹的對待。

返回文章列表