實例方法
調用 new mapPlus.Marker(options),開始使用地圖地標API。
| 實例方法 | 描述 |
|---|---|
| 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.BOUNCE與mapPlus.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],});
// 添加地標 classNamemarker.addClassName('customize-marker');removeClassName
removeClassName(className)
移除地標的 className。
參數
- className
(string): 要移除的className。
範例
// 新增地標const marker = new mapPlus.Marker({ className: 'customize-marker', position: [121.52212916930945, 25.027326932236182],});
// 移除地標 classNamemarker.removeClassName('customize-marker');toggleClassName
toggleClassName(className)
添加或移除地標的 className,取決於地標目前是否有該 className。
參數
- className
(string): 要切換的className。
範例
// 新增地標const marker = new mapPlus.Marker({ position: [121.52212916930945, 25.027326932236182],});
// 點選地標,切換 classNamemarker.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();