使用 HTML5 來偵測位置 (HTML)

12/11/2015

本文內容

[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]

本快速入門說明如何使用 HTML5 中提供的 W3C 地理位置 API 來偵測使用者的地理位置。

目標: 了解如何使用 HTML5 偵測使用者的地理位置。

先決條件

您應該熟悉 HTML 和 JavaScript。

完成所需的時間: 20 分鐘.

指示

1. 驗證是否啟用定位功能

必須先在裝置上啟用 [位置],您的應用程式才能存取位置。在 [設定]**** 應用程式中,確認已開啟下列位置隱私權設定:

已將 [此裝置的位置...] 設為 [開啟]**** (不適用於 Windows 10 行動裝置版)

已將定位服務設定的 [位置] 設為 [開啟]****

在 [選擇可以使用您的位置的應用程式] 底下,將您的應用程式設為 [開啟]****

2. 開啟 Microsoft Visual Studio

開啟 Visual Studio 的執行個體。

3. 建立新專案

建立新專案,從 [JavaScript/市集應用程式] 專案類型中選擇 [空白應用程式]****。

4. 啟用定位功能

在 [方案總管] 中,按兩下 Windows 和 Windows Phone 專案兩者的 package.appxmanifest,然後選取 [功能] 索引標籤。接著,核取 [功能]**** 清單中的 [位置]。這會將 Location 裝置功能新增至套件資訊清單檔案中。

5. 取代 JavaScript 程式碼

在共用專案中開啟 default.js (/js/default.js)。使用下列程式碼取代檔案中的程式碼。

(function () {

"use strict";

var app = WinJS.Application;

var activation = Windows.ApplicationModel.Activation;

app.onactivated = function (args) {

if (args.detail.kind === activation.ActivationKind.launch) {

args.setPromise(WinJS.UI.processAll().

done(function () {

}));

}

};

(function () {

"use strict";

var app = WinJS.Application;

var activation = Windows.ApplicationModel.Activation;

app.onactivated = function (args) {

if (args.detail.kind === activation.ActivationKind.launch) {

args.setPromise(WinJS.UI.processAll().

done(function () {

// Add an event handler to the button.

document.querySelector("#requestPosition").addEventListener("click",

requestPosition);

}));

}

};

var nav = null;

function requestPosition() {

if (nav == null) {

nav = window.navigator;

}

var geoloc = nav.geolocation;

if (geoloc != null) {

geoloc.getCurrentPosition(successCallback, errorCallback);

}

}

function successCallback(position) {

document.getElementById("latitude").innerHTML =

position.coords.latitude;

document.getElementById("longitude").innerHTML =

position.coords.longitude;

}

function errorCallback(error) {

var strMessage = "";

// Check for known errors

switch (error.code) {

case error.PERMISSION_DENIED:

strMessage = "Access to your location is turned off. " +

"Change your settings to turn it back on.";

break;

case error.POSITION_UNAVAILABLE:

strMessage = "Data from location services is " +

"currently unavailable.";

break;

case error.TIMEOUT:

strMessage = "Location could not be determined " +

"within a specified timeout period.";

break;

default:

break;

}

document.getElementById("status").innerHTML = strMessage;

}

app.start();

})();

6. 新增應用程式的 HTML

開啟 Windows 和 Windows Phone 專案的 default.html 檔案,並將下列 HTML 複製到檔案的 BODY 標記中。

Latitude:

Longitude:

Get Latitude and Longitude

7. 建置應用程式

選擇 [建置]**** > [建置方案] 來建置專案。

8. 測試應用程式

在 [偵錯]**** 功能表中按一下 [開始偵錯] 來測試方案。

第一次執行範例時,您會看到一個提示,詢問應用程式是否可以使用您的位置。請選擇 [允許]**** 選項。

按一下 [取得定位] 按鈕以取得目前定位。

摘要

在這個快速入門中,您建立了一個使用 HTML5 偵測使用者定位的簡單應用程式。如需詳細資訊,請參閱建立定位感知網頁主題。

相關主題

windows app html5,使用 HTML5 來偵測位置 (HTML)相关推荐

  1. linux mrtg,鳥哥的 Linux 私房菜 -- MRTG 流量偵測法

    Windows 2000 下啟動 snmp 服務: windows 2000 這個系統底下已經有預設的 snmp 通訊協定了,只要開放他即可!那要如何開放呢?你可以開啟『開始』>『設定』> ...

  2. 哪些App适合用HTML5开发?

    本文转发自:http://www.educity.cn/wenda/11971.html 哪些移动互联网产品适合用HTML5开发? 1.搜索产品 的确,由Android系统定义的移动互联网搜索生态,是 ...

  3. 懂商业的技术合伙人(14):使用HTML5开发App客户端,HTML5+和MUI框架基本介绍

    我非常倾向使用HTML5,搞定PC Web.Mobile Web.Android和iOS.微信小程序等各种UI开发. 作为技术人员,一次学习,处处使用,是个美好的愿望. 本文把2014~2017年,零 ...

  4. XNA-2D碰撞-使用像素偵測

     2008/12/14 15:51 | 閱讀數 : 8076| 2 人推薦我要推薦 |One Comment | 文章分類 :XNA | 訂閱 上一篇使用XNA-2D碰撞-使用矩形偵測的缺點就是對 ...

  5. 探究影像辨識裡的臉部偵測技術(五)

    http://www.compotech.com.tw/articleinfo.php?id=9845 探究影像辨識裡的臉部偵測技術(五)     作者:鍾慶豐   臉部偵測與辨識的技術需求在美國遭受 ...

  6. html5 offsetx,HTML5将发布OFFSETX OFFSETY跳(HTML5 Drag Release offset

    我在玩与HTML5拖放和跟踪鼠标的位置,而拖动. 直到你松开鼠标OFFSETX和OFFSETY工作真棒,偏移跳转到负数的最后拖动事件调度 这里的HTML: 这里的CSS: #dragger{ -web ...

  7. 兄弟连html5在线画板,IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容

    原标题:IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容 为了保证HTML5能与之前的HTML版本达到最大的兼容,HTML5对一些元素标记的省略.boolean值的属性,以及引号的省略这几 ...

  8. 尝试HTML + JavaScript 编写Windows App

    一直以来博文中使用最多的就是C# + XAML.进入Windows App时代,又多了一对 Javascript + HTML组合,这对于Web开发的程序员来说再熟悉不过了.其实小编也做过几年的Web ...

  9. 对html5的了解,HTML5——对HTML5的认识

    首先非常感谢李刚老师出的这本书<HTML5/CSS3/JavaScript讲义>,今天读了第一章节的内容,趁热打铁,总结一下. HTML5的时代已经到来,它对所有的前端开发人员来说是一种福 ...

最新文章

  1. java与3d建模_3d建模加载,更新和在java中呈现
  2. Oracle数据库adg数据没同步,Oracle 11g备库无法开启ADG的原因分析
  3. LinkedHashMap 根据PUT顺序排序Map
  4. Java基础笔记 – 枚举类型的使用介绍和静态导入
  5. java 类的高级特性_java程序-类的高级特性
  6. java中异常+连接重置_java.net.SocketException:连接重置
  7. 计算机取证之你必须要会用的24款工具
  8. 关于Java中volatile关键字笔记
  9. 英语字帖电子版可打印_一年级英语字母专项练习:含26个英文字母书写教学 可下载电子版...
  10. TB6612与电机编码器
  11. JavaWeb 之 Listener监听器及Session的钝化与活化
  12. 阿里云国际版云计算应用在企业领域的优势有哪些
  13. 【Bugfix系列】/usr/bin/ld: cannot find -lxxx 的解决办法
  14. android studio怎么设置,android studio快捷键如何设置 android studio快捷键设置方法
  15. 教给论文投稿小白们去投哪些靠谱的国际学术会议
  16. Java年薪30W+面试必问知识之《2020年面试宝典总纲》
  17. 小程序-----小程序开发工具使用及流程文档说明
  18. 关心你周末生活的也只有码仔了
  19. 【客户服务】如何进行大客户管理
  20. 基于深度学习的图像去噪方法归纳总结

热门文章

  1. 编程建立一通讯簿C语言,C语言编程问题用C语言编个学生通讯录管理系统,功能有:①创建通讯 爱问知识人...
  2. 红橙Darren Android视频笔记 自定义view的三个构造方法以及一种实现换肤的方案 测量mode
  3. Android doc译文|Building Apps with Content Sharing|Sharing Simple Data
  4. 零基础机器学习(1)- 我们为什么要学习Python?
  5. Visual Studio 2017新建及运行C++程序步骤
  6. Python官方文档学习心得(第三篇)
  7. diy配置程序php,poscmsDiy字段之文件类型设计指南
  8. python取余_大牛带你打牢Python基础,看看这10语法
  9. Spark MLlib中的协同过滤
  10. Java求两个数的最大公约数