1. 程式人生 > >原生js獲取手機定位資訊

原生js獲取手機定位資訊

<script type="text/javascript">
function Location() {};

Location.prototype.getLocation = function (callback) {
var options = {
enableHighAccuracy: true,
maximumAge: 1000
};
this.callback = Object.prototype.toString.call(callback) == "[object Function]" ?
callback :
function (address) {
alert(address.province + address.city);
console.log("getocation(callbackFunction) 可獲得定位資訊物件");
};
var self = this;
if (navigator.geolocation) {
//瀏覽器支援geolocation
navigator.geolocation.getCurrentPosition(function (position) {
//經度
var longitude = position.coords.longitude;
//緯度
var latitude = position.coords.latitude;
self.loadMapApi(longitude, latitude);
}, self.onError, options);
} else {
//瀏覽器不支援geolocation
}
};

Location.prototype.loadMapApi = function (longitude, latitude) {
var self = this;
var oHead = document.getElementsByTagName('HEAD').item(0);
var oScript = document.createElement("script");
oScript.type = "text/javascript";
oScript.src = "http://api.map.baidu.com/getscript?v=2.0&ak=A396783ee700cfdb9ba1df281ce36862&services=&t=20140930184510";
oHead.appendChild(oScript);
oScript.onload = function (date) {
var point = new BMap.Point(longitude, latitude);
var gc = new BMap.Geocoder();
gc.getLocation(point, function (rs) {
var addComp = rs.addressComponents;
self.callback(addComp);
});
}
};

Location.prototype.onError = function (error) {
switch (error.code) {
case 1:
alert("位置服務被拒絕");
break;
case 2:
alert("暫時獲取不到位置資訊");
break;
case 3:
alert("獲取資訊超時");
break;
case 4:
alert("未知錯誤");
break;
}
};

//呼叫
var local = new Location();
local.getLocation(function (res) {
//此處就是返回的地理位置資訊
console.log(res);
//JSON.stringify(res),把返回的物件轉為字串了,自己根據需求擷取下就好
var resstr = JSON.stringify(res);
alert(resstr);
});
</script>

相關推薦

原生js獲取手機定位資訊

<script type="text/javascript"> function Location() {}; Location.prototype.getLocation = function (callback) { var options = {

js 獲取手機平衡儀(陀螺儀)角度資訊

html5中的deviceorientation事件,此事件是檢測裝置方向變化時的事件。其常用屬性為alpha(x)、beta(y)、gamma(z)。 alpha:左右旋轉 beta:前後旋轉 g

Android獲取手機基站資訊並進行基站定位(基站定位原理)

http://blog.csdn.net/mad1989/article/details/9970431 一,首先普及一下手機基站資訊中相關的專業詞彙:  通過TelephonyManager 獲取lac:mcc:mnc:cell-id(基站資訊)的解釋: MCC,M

原生js獲取元素樣式值

應該 eight current document 疑惑 行內樣式 lin script 輸出 在學習js初期,就一直有一個疑問,獲取元素樣式的值,不是直接使用obj.style.left之類的就可以得到了嗎?可是使用這樣的方式,有的時候能夠獲取得到,有的時候又不能獲取,

js 獲取手機屏幕高度的代碼

手機屏幕 .get mobile 最小 按鈕 win 設置 rip fixed 需要這段代碼的背景:h5網頁嵌入嵌入原生APP中時,在某些機型(如小米4),當頁面高度不足慢一屏時,position:fixed;bottom:0d的“按鈕”會被遮住,所以需要給頁面body設置

原生js獲取外聯樣式

getc 獲取樣式 put 元素 UNC get 屬性。 ted 元素節點 1、getComputedStyle(ele,null).fontSize //ele所需獲取樣式的元素節點 第二個參數填null就好。後面屬性是你需要的樣式屬性。ie不支持。 2、ie:oBox.

原生js獲取到頁面上所有的checkbox

har NPU doctype ble script 原生js ati -c wid <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> &l

jquery及原生js獲取select下拉框選中的值示例

有一id=test的下拉框,怎麼拿到選中的那個值呢?本文將採用javascript原生的方法及jquery方法(前提是已經載入了jquery庫)來簡單實現下 現在有一id=test的下拉框,怎麼拿到選中的那個值呢?  分別使用javascript原生的方法和jquery方法,程式碼

原生 JS 實現手機驗證碼倒計時

可以使用 pointer-events 來阻止元素成為滑鼠事件的 target。html5 新增操作元素 class 類名的方式 classList。 classList 方法 add(value):在元素中新增一個或多個類名。如果值已經存在,就不添加了。 contains(value): 返回

原生JS獲取HTML DOM元素的8種方法

  JS獲取DOM元素的方法(8種) 通過ID獲取(getElementById) 通過name屬性(getElementsByName) 通過標籤名(getElementsByTagName) 通過類名(getElementsByClassName)

原生js獲取元素的子元素

//使用firstChild //但是下面這種因為有空格,也算其子元素 <lable> <span id="onlinePerson" name="person" onclick="changeImg(this)" > <img id="im

Android 獲取手機儲存資訊詳解(記憶體,外存等)

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); //系統記憶體資訊 ActivityManager.MemoryInfo memInfo = new ActivityManager

原生js獲取 url 鍵值對

      GetUrlParam(paraName) {     var url = window.location.toString();     var arrObj = url.split("?");     if

react使用原生js獲取點選的ul下的第幾個li 並設定className為active

import React from 'react' import './index.less'; import { Link } from "react-router-dom"; class Index extends React.Component { state

JS獲取 URL相關資訊,引數

Location 物件包含有關當前 URL 的資訊。 Location 物件是 Window 物件的一個部分,可通過 window.location 屬性來訪問。 hash 設定或返回從井號 (

原生 JS 獲取元素的尺寸和位置

關於元素的尺寸和位置,這原本是 CSS 乾的事,但更多的時候需要用 JavaScript 來獲取這些引數,比如一個很好的例子 js 實現的圖片瀑布流。 在介紹 JS 中的例子之前,先來說明一下 css 中的元素尺寸。 CSS 中的 width 和 height

原生JS 獲取非行間樣式寫法 及 style currentStyle getComputedStyle 的區別

1,style:相容各大瀏覽器,獲取不了外部樣式,寫了行內沒有的樣式,返回的是空值 obj.style.attr(獲取樣式) obj.style.attr=“值” 設定屬性值 2,currentStyle:該屬性只相容IE,不相容火狐和谷歌 obj.curre

iOS開發-Object-C獲取手機裝置資訊(UIDevice)

一、獲取UiDevice裝置資訊 // 獲取裝置名稱 NSString *name = [[UIDevice currentDevice] name]; // 獲取裝置系統名稱 NSString *systemName = [[UIDevice currentDevice] systemName

原生js獲取select標籤選中值

this.selectedIndex; // 選中的索引 this.options[_index].text; // 選中的文字 this.options[_index].value; // 選中的值

封裝原生js 獲取位址列請求引數

// 獲取位址列請求引數 function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var result = win