13.2 获取当前位置
可以通过navigator.geolocation 的getCurrentPosition 方法来获取用户的信息,示例代码如下:
navigator.geolocation.getCurrentPosition( getPositionSuccess , getPositionError );
在以上代码中,调用了getCurrentPosition 方法,并为其传递了两个参数,该方法可以接受3 个参数,前两个参数是函数,最后一个是对象:第1 个参数是成功获取位置信息的回调函数,是必要参数;第2 个参数用于捕获获取位置信息异常的情况的处理回调函数,第3 个参数是相关的配置项。
当浏览器成功获取到用户的位置信息时,getCurrentPosition 的第一个函数类型的参数将被调用,将对应的position 对象传入到调用的函数中,这个对象中包含了浏览器返回的具体数据,这非常重要。
function getPositionSuccess( position ){
var lat = position.coords.latitude;
var lng = position.coords.longitude;
document.write( "您所在的位置: 经度" + lat + ",纬度" + lng );
}
其中,position 对象包含了用户的地理位置信息,该对象的coords 子对象包含了用户所在的纬度和经度信息, 通过position.coords.latitude 可以访问纬度信息,position.coords.longitude 可访问经度信息,用户的位置信息越精确,这两个数字后面的小数点越长。此外,在Firefox 中,position 对象下还附带有另一个address 对象,这个对象包含这个经纬度下的国家名,城市名甚至街道名,示例代码如下:
01 function getPositionSuccess(position) {
02 var lat = position.coords.latitude;
03 var lng = position.coords.longitude;
04 alert("您所在的位置: 经度" + lat + ",纬度" + lng);
05 if (typeof position.address !== "undefined") {
06 var country = position.address.country;
07 var province = position.address.region;
08 var city = position.address.city;
09 alert(' 您位于 ' + country + province + '省' + city + '市');
10 }
11 }
本章源代码提供一个完整的示例:
01
02
03
点击这个按钮,获得您的坐标:
04试一下
05
06
第1章 创建HTML文档
1.1 HTML文档的基本结构
1.2 HTML文档类型
1.3 利用HTML元素定义中文网页
1.4 利用title定义网页的标题
1.5 利用meta元素定义页面元信息
1.6 利用head元素定义文档头部
1.7 利用body元素定义文档主体
1.8 利用base元素定义基底网址
1.9 定义网页在不同显示媒体下的样式
1.10 指定外部资源的link元素
1.11 添加网站Logo
1.12 预先获取资源Link Prefetch
1.13 利用script元素定义客户端脚本
1.14 添加注释
1.15 载入外部脚本库
1.16 延迟脚本执行
1.17 异步执行脚本
1.18 利用noscript元素实现脚本的替代内容
1.19 HTML属性
1.20 为元素指定类或ID名称
1.21 为元素添加title属性
第2章 头部 meta元素
2.1 定义页面关键字
2.2 设置页面描述
2.3 设定作者信息
2.4 限制搜索方式
2.5 网页语言与文字
2.6 定时跳转页面
2.7 设定网页缓存过期时间
2.8 禁止从缓存中调用
2.9 删除过期的Cookie
2.10 设置网页的过渡效果
第3章 标记文字
3.1 标题
3.2 表示关键字和产品名称
3.3 强调
3.4 表示外文词语或科技术语
3.5 表示重要的文字
3.6 表示不正确或校正
3.7 为文字添加下画线
3.8 添加小号字体内容
3.9 添加上标和下标
3.10 强制换行
3.11 指明可以安全换行的建议位置
3.12 表示输入和输出
3.13 表示缩写
3.14 定义术语
3.15 引用来自他处的内容
3.16 引用其他作品的标题
3.17 表示时间和日期
3.18 ruby、rt和rp元素
3.19 bdo元素
3.20 bdi元素
3.21 表示一段一般性的内容
3.22 突出显示文本
第4章 显示图像
4.1 必须知道的图像格式和压缩形式
4.2 图像的超简应用
4.3 语义化带标题的图片
4.4 提前载入图片
4.5 图像区域映射
4.6 使用base64:URL格式的图片
第5章 生成超链接
5.1 生成指向外部的超链接
5.2 使用相对URL
5.3 生成页面内超链接
5.4 图像链接
5.5 电子邮件链接
5.6 设定浏览环境
5.7 在框架中打开
第6章 组织文字内容
6.1 段落
6.2 页面主体的结构化布局
6.3 使用预先编排好格式的内容
6.4 引用他处内容
6.5 添加主题分隔线
6.6 将内容组织为列表
6.7 输出有顺序关系的内容
6.8 使用无序列表输出无序并列的内容
6.9 使用自定义列表输出有标题的并列内容
6.10 列表项的使用
6.11 使用菜单列表
6.12 使用下拉列表
6.13 在页面中输出对话
第7章 划分文档结构
7.1 添加基本的标题
7.2 隐藏子标题hgroup
7.3 生成节
7.4 为区域添加头部和尾部
7.5 添加导航区域
7.6 在页面中输出文章
7.7 生成附注栏
7.8 在页面输出联系人信息
7.9 生成详情区域
第8章 多媒体文件
8.1 使用多媒体打造丰富的视觉效果
8.2 全面兼容的video
8.3 多媒体文件标签
8.4 object元素
8.5 param元素
8.6 嵌入Flash代码
8.7 实现Flash全屏播放
8.8 文字的滚动
8.9 定义媒介源
8.10 定义媒介外部文本轨道
第9章 表格
9.1 生成基本的表格
9.2 让表格没有凹凸感
9.3 添加表头
9.4 为表格添加结构
9.5 制作不规则的表格
9.6 正确地设置表格列
9.7 设置表格边框
9.8 其他表格设计
第10章 表单与文件
10.1 制作基本表单
10.2 自动聚焦
10.3 禁用单个input元素
10.4 关闭输入框的自动提示功能
10.5 关闭输入法
10.6 按回车键跳转至下一个输入框
10.7 定制input元素
10.8 生成隐藏的数据项
10.9 输入验证
10.10 生成按钮
10.11 使用表单外的元素
10.12 显示进度
10.13 密钥对生成器
第11章 网页中的框架
11.1 在页面中使用iframe
11.2 设置iframe透明背景色
11.3 让iframe高度自适应
11.4 垂直框架
11.5 水平框架
11.6 混合框架
11.7 使用
第12章 HTML 5 Canvas
12.1 在页面中使用canvas元素
12.2 使用路径和坐标
12.3 绘制弧形和圆形
12.4 用纯色填充图形
12.5 使用渐变色填充
12.6 在画布中绘制文本
12.7 将画布输出为PNG图片文件
12.8 复杂场景使用多层画布
12.9 使用requestAnimationFrame制作游戏或动画
12.10 如何显示满屏canvas
12.11 canvas圆环进度条
第13章 HTML 5地理定位
13.1 使用navigator对象
13.2 获取当前位置
13.3 浏览器支持
第14章 HTML 5本地存储
14.1 在客户端存储数据
14.2 检查HTML 5存储支持
14.3 利用localStorage进行本地存储
14.4 利用localStorage存储JSON对象
14.5 利用localStorage记录用户表单输入
14.6 利用localStorage进行跨文档数据传递
14.7 在localStorage中存储图片
14.8 在localStorage中存储文件
14.9 使用localForage进行离线存储
14.10 利用sessionStorage进行本地存储
第15章 HTML 5应用缓存
15.1 使用cache manifest创建页面缓存
15.2 离线Web网页或应用
15.3 删除本地缓存
15.4 更新缓存文件
15.5 使用HTML 5离线应用程序缓存事件
15.6 如何失效缓存
第16章 移动开发
16.1 手机上直接电话呼叫或短信
16.2 设置iPhone书签栏图标
16.3 HTML 5表单
16.4 HTML 5相册
第17章 其他常用代码
17.1 让IE支持HTML 5标签
17.2 网页自动关闭
17.3 地址栏换成自己的图标
17.4 网页不能另存
17.5 禁止查看网页源代码
17.6 网页不出现滚动条
17.7 设定打开网页的大小
17.8 变换当前网页的光标