国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS獲取本地地址及天氣的方法實例小結

2019-11-19 11:36:24
字體:
來源:轉載
供稿:網友

本文實例講述了JS獲取本地地址及天氣的方法。分享給大家供大家參考,具體如下:

一、獲取本地的地址

第一種方式:

1、利用瀏覽器獲取當前位置的經緯度

window.onload=getCurrentPosition;//瀏覽器獲取當前位置function getCurrentPosition() {  if (window.navigator.geolocation) {    var options = {      enableHighAccuracy: true,    };    window.navigator.geolocation.getCurrentPosition(handleSuccess, handleError, options);  }else {    alert("瀏覽器不支持html5來獲取地理位置信息");  }}

2、瀏覽器獲取到的是GPS坐標,需要轉換成城市名稱再通過城市獲取天氣:

//成功獲取時調用的函數function handleSuccess(position) {  // 獲取到當前位置經緯度 本例中獲取到的是gps坐標系  //經度  var lng = position.coords.longitude;  //緯度  var lat = position.coords.latitude;  //轉換成百度坐標系  //將請求發送給‘  var ggPoint = new BMap.Point(lng, lat);  //地圖初始化  var bm = new BMap.Map();  //坐標轉換完之后的回調函數  translateCallback = function (data) {    if (data.status === 0) {//回調成功      var marker = new BMap.Marker(data.points[0]);      var myGeo = new BMap.Geocoder();      var baiduPoint = new BMap.Point(data.points[0].lng, data.points[0].lat);      //將經緯度轉換成城市      myGeo.getLocation(baiduPoint, getCityByCoordinate);    }  }  setTimeout(function () {    var convertor = new BMap.Convertor();    var pointArr = [];    pointArr.push(ggPoint);    convertor.translate(pointArr, 3, 5, translateCallback)  }, 2000);}function getCityByCoordinate(result) {  var gpsAadress=result.addressComponents;  var city=gpsAadress.city;  //將轉換之后的城市傳入獲取天氣的函數做參數  getWeatherDatas(city);  return city;}function handleError() {  log('地點定位出錯');}

第二種方式:

1、利用百度API通過IP地址獲取本地地址

//通過百度的 IP地址獲取本地地址window.onload=getCurrentPosit;  function getCurrentPosit() {    var map = new BMap.Map('getCity');    function myFun(result){      var cityName = result.name;      getWeatherDatasFun(cityName);      map.setCenter(cityName);      alert("當前定位城市:"+cityName);    }    var myCity = new BMap.LocalCity();    myCity.get(myFun);

2、通過城市獲取天氣數據:

function getWeatherDatas(city) {  var url='http://route.showapi.com/9-2?';  if(city===undefined || city===""){    log('您還未輸入')  }else {    $.ajax({      type: 'post',      url: url,      dataType: 'jsonp',      data: {        "showapi_timestamp": new Date().getTime(),        "showapi_appid": '44277', //這里需要改成自己的appid        "showapi_sign": '9987d6dff19e482488b33dc8ed70f6e9', //這里需要改成自己的應用的密鑰secret,        "area":city      },      jsonp: 'jsonpcallback', //這個方法名很重要,不能改變      error: function(XmlHttpRequest, textStatus, errorThrown) {        log("操作失敗,請重試!"+errorThrown);      },      success: function(result) {        //解析獲取到的天氣數據        console.log('The Weather datas: ',result);      }    });  }}

更多關于JavaScript相關內容還可查看本站專題:《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript操作DOM技巧總結》及《JavaScript字符與字符串操作技巧總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海南省| 永仁县| 平江县| 南川市| 昌吉市| 阿拉善右旗| 台江县| 平度市| 晋州市| 京山县| 门头沟区| 章丘市| 武宁县| 巴彦县| 湖州市| 宁阳县| 高尔夫| 嘉鱼县| 通河县| 琼结县| 施甸县| 四平市| 丰原市| 恩平市| 柳江县| 文化| 来安县| 华蓥市| 隆昌县| 安化县| 南溪县| 三门县| 巨鹿县| 枝江市| 安仁县| 嵩明县| 安仁县| 建瓯市| 原平市| 元朗区| 东城区|