国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 開發(fā) > HTML5 > 正文

使用HTML5 Geolocation實現(xiàn)一個距離追蹤器

2024-09-05 07:22:28
字體:
來源:轉載
供稿:網(wǎng)友

HTML5 Geolocation(地理定位)用于定位用戶的位置。那么如何實現(xiàn)一個距離追蹤器呢?我的思路是這樣的,前提是瀏覽器支持h5地理定位,在這個基礎上,獲取用戶位置,更新用戶位置,計算距離,顯示到頁面,這樣就簡單實現(xiàn)了一個距離追蹤器,為了用戶更清楚地看到當前位置,這里接入了百度地圖API。

頁面結構如下所示:

<div id="container"> <section>  <article>   <header>    <h1>Your Location</h1>   </header>   <p class="info" id="status">您的瀏覽器不支持HTML5 Geolocation。</p>   <div class="geostatus">    <p id="latitude">緯度:  </p>    <p id="longitude">經(jīng)度:  </p>    <p id="accuracy">準確度:  </p>    <p id="timestamp">時間戳:  </p>    <p id="currDist">目前旅行距離:  </p>    <p id="totalDist">旅行總距離:  </p>   </div>  </article> </section> <!-- 百度地圖位置顯示 --> <div id="allmap"></div>    </div>

判斷瀏覽器是否支持HTML5 Geolocation

在body加載時調用loadDemo()方法,方法根據(jù)navigator.geolocation來判斷瀏覽器是否支持HTML5 Geolocation;如果navigator.geolocation為true,那么我們就可以開始對用戶位置進行獲取更新

實時獲取用戶位置

HTML5可以通過getCurrentPosition() 方法來獲得用戶的位置。但這個只獲取一次,所以我們選用了 watchPosition()這個方法,它能返回用戶的當前位置,并繼續(xù)返回用戶移動時的更新位置(就像汽車上的GPS)。

navigator.geolocation.watchPosition(updateLocation, handleLocationError, {        timeout: 10000       });

在不斷獲取位置的同時,調用updateLocation這個方法,把位置情況顯示在頁面上,當然還要調用計算距離的方法來獲取距離,以及不斷更新百度地圖上的位置。

var latitude = position.coords.latitude;var longitude = position.coords.longitude;var accuracy = position.coords.accuracy;var timestamp = position.timestamp;document.getElementById("latitude").innerHTML = "緯度:  " + latitude;document.getElementById("longitude").innerHTML = "經(jīng)度:  " + longitude;document.getElementById("accuracy").innerHTML = "準確度:  " + accuracy;document.getElementById("timestamp").innerHTML = "時間戳:  " + timestamp;if(accuracy >= 30000) { updateStatus("Need more accurate values to calculate distance."); return;}if((lastLat != null) && (lastLong != null)) { var currentDistance = distance(latitude, longitude, lastLat, lastLong); document.getElementById("currDist").innerHTML = "目前旅行距離:  " + currentDistance.toFixed(2) + "km"; totalDistance += currentDistance; document.getElementById("totalDist").innerHTML = "旅行總距離:  " + currentDistance.toFixed(2) + "km"; updateStatus("Location successfully updated.");}lastLat = latitude;lastLong = longitude;

計算距離

把開始位置和當前位置的經(jīng)度緯度作為參數(shù)放入函數(shù),通過換算,來計算距離(單位為km)

Number.prototype.toRadians = function() {    return this * Math.PI / 180;   }function distance(latitude1, longitude1, latitude2, longitude2) {    var R = 6371;    var deltaLatitude = (latitude2 - latitude1).toRadians();    var deltaLongitude = (longitude2 - longitude1).toRadians();    latitude1 = latitude1.toRadians(), latitude2 = latitude2.toRadians();    var a = Math.sin(deltaLatitude / 2) * Math.sin(deltaLatitude / 2) + Math.cos(latitude1) * Math.cos(latitude2) * Math.sin(deltaLongitude / 2) * Math.sin(deltaLongitude / 2);    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));    var d = R * c;    return d;   }

百度地圖API接入

要用百度地圖API,你需要注冊百度賬號,申請成為百度開發(fā)者然后獲取一個密鑰,才能使用相關服務戳這 根據(jù)文檔你可以知道如何使用這個API 代碼如下:

var map = new BMap.Map("allmap"); // 創(chuàng)建Map實例 map.centerAndZoom(new BMap.Point(longitude, latitude), 14); //設置中心點坐標和地圖級別 map.addControl(new BMap.MapTypeControl()); //添加地圖類型控件 map.setCurrentCity("南昌"); //顯示城市,此項必須設置 map.enableScrollWheelZoom(true); //開啟鼠標滾輪縮放 // 以下為當前位置標注設置 var point = new BMap.Point(longitude, latitude); map.centerAndZoom(point, 14); var marker = new BMap.Marker(point); //創(chuàng)建標注 map.addOverlay(marker); //將標注添加到地圖中 marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳動的動畫 // 百度地圖API功能--------end

記得先引入一個script標簽

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密鑰" ></script>

總結

以上所述是小編給大家介紹的使用HTML5 Geolocation實現(xiàn)一個距離追蹤器,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产中文字幕在线看| 欧洲有码在线视频| 97影院理论午夜| jizz性欧美| 天堂资源最新版在线视频观看免费网| 国产理论电影在线观看| 免费影视观看网站入口| 在线国产小视频| 国产精品久久久久久精| 久久香蕉av| 狠狠操视频网站| 噜噜噜噜噜在线视频| 国产中文在线| 国产福利免费观看| www.狠狠操| 国产女主播在线观看| 天堂中文资源在线| 国产精品麻豆一区二区三区| 91中文字幕| 久久香蕉av| 精品国产一区二区三区不卡在线| 国产黄色片中文字幕| 精品一二三区视频| 国产农村一级特黄α**毛片| 国产成人精品综合网站| 超碰在线中文| 国产99re66在线视频| 日本调教视频在线观看| 国产精品久久在线| 黄色电影网站在线观看| 在线看黄网址| 91美女在线| 999精品网| 国产三级视频在线| 国产精品作爱| 久久精品视频观看| 超碰91在线| 天天插天天操| 精品国内一区二区三区免费视频 | 国产午夜视频在线观看| av免费在线观| 在线天堂中文| 精品麻豆视频| 在线免费国产| 99久久免费精品国产免费| 中文岛国精品亚洲一区| 18 激情视频在线| 91激情在线| 在线激情小视频| 欧美日韩在线中文字幕| 久久香蕉一区| 国产一级免费黄色片| 中文字幕视频在线| wwww亚洲| 超碰在线97国产| www免费在线观看视频| eeuss影院在线观看| 亚洲www色| 国产免费网址| 国产精品第八页| 在线视频婷婷| 美女av在线播放| 最新国产在线| 国产va在线观看| 色欧美在线观看| 99热最新网址| 国产激情视频在线| 色中文字幕在线| 中文字幕第一页在线| 国产精品视频流白浆免费视频 | 蜜桃视频网站在线| 国产你懂的在线观看| 欧美xxxx黑人又粗又长| 91sp网站在线观看入口| 尤物在线视频观看| 麻豆网站在线免费观看| 国产三级在线播放| 免费在线观看a| 精品极品三级久久久久| 国产在线传媒| 在线视频中文字幕第一页| 开心婷婷激情五月| 91看片在线观看| 九九在线视频| av在线免费观看网| 国产经典三级在线| 天堂在线中文资源| 香蕉视频在线看| 国产寡妇树林野战在线播放| 国产免费av网站| 亚洲综合天堂网| 国产激情视频在线| 国产一级在线| 五月婷婷在线观看| 免费观看一二区视频网站| av文字幕在线观看| 精品欧美色视频网站在线观看| 国产乱妇乱子在线播视频播放网站| 9色在线视频网站| 国产极品美女到高潮| 国产精品视频一区二区久久 | 97福利电影| 国产经典自拍视频在线观看| 中文字幕在线影视资源| 就爱干草视频| 国产精选在线视频拍拍拍| 国产麻豆一级片| 国产在线高潮| 91caoporn在线| 99视频资源网| 中文字幕在线免费观看| 国产一区二区三区不卡免费观看| 麻豆网站在线| 午夜免费福利在线观看| 国产黄在线观看免费观看不卡| 国产精品99爱免费视频| 精品久久久久一区二区三区| 亚洲综合天堂网| 九色视频网站| 国产aa视频| 粉嫩av一区| 国产爆初菊在线观看免费视频网站| 99精品老司机免费视频| www在线播放| 国产精品久久在线| 一级黄色av| 九九热在线视频免费观看| 国产日韩欧美精品一区二区三区| 国产激情视频一区二区| wwwww亚洲| 国产盗摄一区二区| 欧美日韩在线视频免费观看| 国产精品久久久久久福利| 免费在线黄色av| 中文字幕av免费| 国产一级在线| 国产真实伦在线观看| 91亚洲天堂| 国产视频xxxx| 精品资源在线看| 精品国产高清自在线一区二区三区 | 92国产在线视频| 国内外激情在线| www网站在线观看| 精品全国在线一区二区| 国产麻豆精品高清在线播放| 亚洲精品午夜级久久久久| 最近最好的中文字幕2019免费| 夜夜爽夜夜操| 国产高清视频在线播放| 最近中文av字幕在线中文| 在线观看免费黄色| 国产精品久久久久白浆| 99视频免费| 九色视频网站| 麻豆精品视频入口| 久草在线视频网| 九九99精品| 黄色av网站在线免费观看| 噜噜噜噜噜在线视频| 激情六月婷婷| 成人午夜无人区一区二区| 免费男女羞羞的视频网站中文字幕| av在线播放网| 久草视频国产| 国产系列在线观看| 精品视频vs精品视频| 精品美女在线观看视频在线观看 | 欧美日韩在线视频免费观看| 亚洲成人av在线影院| 亚洲日本久久久午夜精品| 香蕉视频在线观看www| 亚洲sss视频| 好男人社区在线视频| 狠狠综合久久久综合| 国产老肥熟xxxx在线观看| 国产精品久久久久久福利| 97在线免费| 毛片在线视频| 国产精品入口麻豆高清| 在线免费观看污| 久热免费在线视频| 中文字幕视频在线免费| 在线中文资源天堂| 青草视频在线播放| 国产乱视频在线观看| 国产精品久久久高清免费| 亚洲一道本在线| 国产一级性片| 在线国产91| 国产精品一区二三区| 中文在线视频观看| 丁香综合在线| 精品国内一区二区三区免费视频| 日本三级视频网站| 国产福利免费观看| 懂色一区二区三区| 日本综合一区二区三区| 国产精品9区| 国产乱视频在线观看播放|