Skip to main content

實例方法

實例方法描述
addListener新增地標的事件監聽器。
removeListener移除地標的事件監聽器。
setAnimation設定地標的動畫。
setAltitude設定地標的海拔高度。
addClassName添加地標的 className
removeClassName移除地標的 className
toggleClassName切換地標的 className
setDraggable設定地標是否可拖曳。
setClickable設定地標是否可點選。
remove移除地標。

addListener

addListener(type, listener)

新增地標的事件監聽器。

參數

  • type (string): 事件類別,與 DOM 原生事件一致。
  • listener (function): 需事件綁定的函數。

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 新增事件
marker.addListener('click', () => {
console.log('Marker Is On Click!');
});

removeListener

removeListener(type, listener)

移除地標的事件監聽器。

參數

  • type (string): 事件類別,與 DOM 原生事件一致。
  • listener (function): 需解除事件綁定的函數。

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 地標點選函數
const markerOnClick = () => {
console.log('Marker Is On Click!');
}

// 新增事件
marker.addListener('click', markerOnClick);

// 移除事件
marker.removeListener('click', markerOnClick);

setAnimation

setAnimation(animation)

設定地標的動畫。

參數

  • animation (object): 動畫類型,可套用 mapPlus.Animation.BOUNCEmapPlus.Animation.DROP

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 新增動畫
marker.setAnimation(mapPlus.Animation.BOUNCE);

setAltitude

setAltitude(altitude)

設定地標的海拔高度。

參數

  • altitude (number): 海拔高度,單位為公尺。

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 設定海拔高度
marker.setAltitude(50);

addClassName

addClassName(className)

添加地標的 className

參數

  • className (string): 要添加的 className

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 添加地標 className
marker.addClassName('customize-marker');

removeClassName

removeClassName(className)

移除地標的 className

參數

  • className (string): 要移除的 className

範例

// 新增地標
const marker = new mapPlus.Marker({
className: 'customize-marker',
position: [121.52212916930945, 25.027326932236182],
});

// 移除地標 className
marker.removeClassName('customize-marker');

toggleClassName

toggleClassName(className)

添加或移除地標的 className,取決於地標目前是否有該 className

參數

  • className (string): 要切換的 className

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 點選地標,切換 className
marker.addListener('click', () => {
marker.toggleClassName('customize-marker');
});

setDraggable

setDraggable(isDraggable)

設定地標是否可拖曳。

參數

  • isDraggable (boolean): 是否可進行拖曳。

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 設定可拖曳
marker.setDraggable(true);

setClickable

setClickable(isClickable)

設定地標是否可點選。

參數

  • isClickable (boolean): 是否可進行點選。

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 設定不可點選
marker.setClickable(false);

remove

remove()

移除地標。

範例

// 新增地標
const marker = new mapPlus.Marker({
position: [121.52212916930945, 25.027326932236182],
});

// 移除地標
marker.remove();