最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS獲取本地地址及天氣的方法實(shí)例小結(jié)

 更新時(shí)間:2019年05月10日 12:06:48   作者:zhy前端攻城獅  
這篇文章主要介紹了JS獲取本地地址及天氣的方法,結(jié)合實(shí)例形式總結(jié)分析了javascript通過瀏覽器、第三方API實(shí)現(xiàn)獲取本地地址與天氣的相關(guān)操作技巧,需要的朋友可以參考下

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

一、獲取本地的地址

第一種方式:

1、利用瀏覽器獲取當(dāng)前位置的經(jīng)緯度

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

2、瀏覽器獲取到的是GPS坐標(biāo),需要轉(zhuǎn)換成城市名稱再通過城市獲取天氣:

//成功獲取時(shí)調(diào)用的函數(shù)
function handleSuccess(position) {
  // 獲取到當(dāng)前位置經(jīng)緯度 本例中獲取到的是gps坐標(biāo)系
  //經(jīng)度
  var lng = position.coords.longitude;
  //緯度
  var lat = position.coords.latitude;
  //轉(zhuǎn)換成百度坐標(biāo)系
  //將請(qǐng)求發(fā)送給‘
  var ggPoint = new BMap.Point(lng, lat);
  //地圖初始化
  var bm = new BMap.Map();
  //坐標(biāo)轉(zhuǎn)換完之后的回調(diào)函數(shù)
  translateCallback = function (data) {
    if (data.status === 0) {//回調(diào)成功
      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);
      //將經(jīng)緯度轉(zhuǎn)換成城市
      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;
  //將轉(zhuǎn)換之后的城市傳入獲取天氣的函數(shù)做參數(shù)
  getWeatherDatas(city);
  return city;
}
function handleError() {
  log('地點(diǎn)定位出錯(cuò)');
}

第二種方式:

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("當(dāng)前定位城市:"+cityName);
    }
    var myCity = new BMap.LocalCity();
    myCity.get(myFun);

2、通過城市獲取天氣數(shù)據(jù):

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', //這里需要改成自己的應(yīng)用的密鑰secret,
        "area":city
      },
      jsonp: 'jsonpcallback', //這個(gè)方法名很重要,不能改變
      error: function(XmlHttpRequest, textStatus, errorThrown) {
        log("操作失敗,請(qǐng)重試!"+errorThrown);
      },
      success: function(result) {
        //解析獲取到的天氣數(shù)據(jù)
        console.log('The Weather datas: ',result);
      }
    });
  }
}

更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript操作DOM技巧總結(jié)》及《JavaScript字符與字符串操作技巧總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 微信小程序 點(diǎn)擊控件后選中其它反選實(shí)例詳解

    微信小程序 點(diǎn)擊控件后選中其它反選實(shí)例詳解

    這篇文章主要介紹了微信小程序 點(diǎn)擊控件后選中其它反選實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • js獲取及判斷鍵盤按鍵的方法

    js獲取及判斷鍵盤按鍵的方法

    這篇文章主要介紹了js獲取及判斷鍵盤按鍵的方法,涉及JavaScript鍵盤事件的獲取及鍵值的判定技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-12-12
  • javascript把15位身份證轉(zhuǎn)成18的函數(shù)

    javascript把15位身份證轉(zhuǎn)成18的函數(shù)

    非常不錯(cuò)的,看了這個(gè)大家就明白身份證的運(yùn)算規(guī)則了
    2008-10-10
  • JS實(shí)現(xiàn)面包屑導(dǎo)航功能從零開始示例

    JS實(shí)現(xiàn)面包屑導(dǎo)航功能從零開始示例

    這篇文章主要為大家介紹了JS實(shí)現(xiàn)面包屑導(dǎo)航功能從零開始示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 如何防止JavaScript自動(dòng)插入分號(hào)

    如何防止JavaScript自動(dòng)插入分號(hào)

    JavaScript語言有一個(gè)機(jī)制:在解析時(shí),能夠在一句話后面自動(dòng)插入一個(gè)分號(hào),用來修改語句末尾遺漏的分號(hào)分隔符。然而,由于這個(gè)自動(dòng)插入的分號(hào)與JavaScript語言的另一個(gè)機(jī)制發(fā)生了沖突,即所有空格符都被忽略,因此程序可以利用空格格式化代碼
    2015-11-11
  • js+css簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁換膚效果

    js+css簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁換膚效果

    這篇文章主要介紹了js+css簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁換膚效果的方法,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)遍歷及修改頁面元素樣式的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • 微信小程序自定義用戶登錄彈窗

    微信小程序自定義用戶登錄彈窗

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義用戶登錄彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • form+iframe解決跨域上傳文件的方法

    form+iframe解決跨域上傳文件的方法

    下面小編就為大家?guī)硪黄猣orm+iframe解決跨域上傳文件的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • 詳解CocosCreator消息分發(fā)機(jī)制

    詳解CocosCreator消息分發(fā)機(jī)制

    這篇文章主要介紹了詳解CocosCreator消息分發(fā)機(jī)制,詳細(xì)介紹了各模塊的設(shè)計(jì),同學(xué)們一定要自己看下
    2021-04-04
  • 第二章之Bootstrap 頁面排版樣式

    第二章之Bootstrap 頁面排版樣式

    Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它簡(jiǎn)潔靈活,使得 Web 開發(fā)更加快捷。本文給大家介紹Bootstrap 頁面排版樣式的相關(guān)知識(shí),希望對(duì)大家有所幫助!
    2016-04-04

最新評(píng)論

庆云县| 高尔夫| 五常市| 天峻县| 宁夏| 马公市| 天镇县| 景洪市| 刚察县| 林州市| 东莞市| 九龙坡区| 吉木萨尔县| 新和县| 南投县| 阿荣旗| 承德市| 抚远县| 怀仁县| 科技| 潢川县| 同仁县| 朝阳市| 额敏县| 保山市| 房产| 海兴县| 浠水县| 讷河市| 常熟市| 广安市| 北流市| 泗洪县| 五家渠市| 林口县| 巴中市| 无极县| 平谷区| 太仆寺旗| 富顺县| 正阳县|