百度地图 api拖放

这篇博客介绍了如何利用HTML5的geolocation接口获取设备地理位置,并结合拖放事件(drag/drop)创建地图拖放功能。同时,还探讨了Web Storage的使用,包括localStorage和sessionStorage的特点及应用,以及在实现简单网站列表程序中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

十二月二十二

1.地理位置
1.1 geolocation接口
获取设备地理位置可编程对象
使用 **getCurrentPosition()** 方法来获取设备当前位置。
| coords.latitude         | 以十进制度数表示纬度的双精度值。                             |
| coords.longitude        | 以十进制度数表示经度的双精度值。                             |
| coords.accuracy         | 表示纬度和经度属性精度的双精度值,单位为米。                 |
| coords.altitude         | 表示该位置相对于海平面的高度的双经度值。<br/>如果无法提供数据,则此值可以为空。 |
| coords.altitudeAccuracy | 表示高度属性精度的双精度值,单位为米。                       |
| coords.heading          | 表示设备运行方向的双精度值。<br>该值(以度为单位)表示设备离正北方向的距离。0° 表示正北方向,顺时针计算(即东为 90°,西为 270°)。<br>如果速度为 0,此值为 NaN;如果设备无法提供方向信息,则此值为空。 |
| coords.speed            | 表示设备运行速度的双精度值,单位为米/每秒。                  |
| timestamp               | 获取到位置的时间(时间戳)。                                 |
g
getCurrentPosition() 方法的第二个参数用于处理错误。它规定获取地理位置失败或用户拒绝定位时运行的函数。


二.
拖拽事件
| drag      | ondrag      | 当拖拽元素或选中的文本时触发。                               |
| drop      | ondrop      | 当元素或选中的文本在可释放目标上被释放时触发。               |
| dragenter | ondragenter | 当拖拽元素或选中的文本到一个可释放目标时触发。               |
| dragover  | ondragover  | 当元素或选中的文本被拖到一个可释放目标上时触发(每 100 毫秒触发一次)。 |
| dragleave | ondragleave | 当拖拽元素或选中的文本离开一个可释放目标时触发。             |
| dragstart | ondragstart | 当用户开始拖拽一个元素或选中的文本时触发。                   |
| dragend   | ondragend   | 当拖拽操作结束时触发(比如松开鼠标按键或敲 “Esc” 键)。      |


### 3.1 设置元素为可拖放

首先,为了使元素可拖动,把 draggable 属性设置为 true :

### 3.2 拖动什么 - ondragstart 和 setData()

在上面示例中,ondragstart 属性调用了一个函数 `drag(ev)`,它规定了被拖动的数据。

DataTransfer 对象专门用来存储拖放时要携带的数据,它可以被设置为拖放事件对象的 dataTransfer 属性。

`dataTransfer.setData()` 方法设置被拖数据的数据类型和值:

### 3.3 拖放到何处 - ondragover

ondragover 事件规定在何处放置被拖动的数据。

默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。

这要通过调用 ondragover 事件的 `event.preventDefault()` 方法:

 ### 3.4 进行放置 - ondrop

当放置被拖数据时,会发生 drop 事件。

在上面的例子中,ondrop 属性调用了一个函数 `drop(event)`:

  2.1 Web Storage 简介

.2 Web Storage 的特点
- 设置数据和读取数据比较方便。
- 容量较大,sessionStorage 约 5M,localStorage 约 20M。
- 只能存储字符串,如果要存储 JSON 对象,可以使用 `window.JSON` 对象的 `stringify()` 方法和 `parse()` 方法进行序列化和反序列化。

在使用 Web Storage 前,应检查浏览器是否支持 localStorage 和 sessionStorage:

3 localStorage 的使用


## sessionStorage 的使用

sessionStorage 方法针对一个 session(会话)进行数据存储。当用户关闭浏览器窗口后,数据会被删除。

## 5 简单的网站列表程序

功能需求:

- 可以输入网站名、网址,以网站名作为 key 存入 localStorage;
- 可以输入网站名,查找网址;
- 可以列出当前已保存的所有网站。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值