apicloud apicloud

注册
查看: 979|回复: 2

[APP开发技巧] bmap实现天气源码-基于大神那个版本

新手上路

UID:54294

主题:
19
帖子:
72
云币:
335

[APP开发技巧] bmap实现天气源码-基于大神那个版本

979 2 | 发表于 2016-1-14 15:25:30 |阅读模式 | |
  1. function initWeather() {
  2.         //定位
  3.         var map = api.require('bMap');
  4.         map.getLocation({
  5.                 accuracy : '10m',
  6.                 autoStop : true,
  7.                 filter : 1
  8.         }, function(ret, err) {
  9.                 if (ret.status) {
  10.                         getCityName(ret.lon, ret.lat)
  11.                 } else {
  12.                         //alert(err.code);
  13.                 }
  14.         });
  15.         //
  16. }

  17. function getCityName(lon, lat) {
  18.         var url = 'http://api.map.baidu.com/geocoder/v2/?ak=bTRhV7TqZhXlsGyDdbrhpfsQ&output=json&pois=1&location=' + lat + ',' + lon;
  19.         api.ajax({
  20.                 url : url,
  21.                 meghod : 'get',
  22.                 timeout : 30,
  23.                 dataTyep : 'json'
  24.         }, function(ret, err) {
  25.             try{
  26.                     $('.city').html(ret.result.addressComponent.city);
  27.                         getWeather(ret.result.addressComponent.city);
  28.             }
  29.                 catch(e)
  30.                 {
  31.                         // 如果网络出现问题。。我们也不用提示
  32.                 }
  33.         });
  34. }

  35. function getWeather(cityName) {
  36.         var url = 'http://api.map.baidu.com/telematics/v3/weather?location=' + cityName + '&output=json&ak=bTRhV7TqZhXlsGyDdbrhpfsQ';
  37.         api.ajax({
  38.                 url : url,
  39.                 meghod : 'get',
  40.                 timeout : 30,
  41.                 dataTyep : 'json',
  42.                 returnAll : false,
  43.                 data : {
  44.                 }
  45.         }, function(ret, err) {
  46.                 if (ret) {
  47.                         var urlJson = JSON.stringify(ret);
  48.                         var todayWeather = ret.results[0].weather_data[0];
  49.                         $('#temperature').html(todayWeather.temperature);
  50.                         $('#wind').html(todayWeather.wind);
  51.                         $('#weatherDesc').html(todayWeather.weather);
  52.                         $('#dayPictureUrl').attr('src', todayWeather.dayPictureUrl);
  53.                 } else {
  54.                        
  55.                 }
  56.         });
  57. }
复制代码
总共分为3步,1 获取经纬度, 2 获取城市名字, 3 获取天气
  ak是有效的,大家可以直接写死一个城市名字测试。
1

查看全部评分

驾校小白

UID:195297

主题:
6
帖子:
50
云币:
142
发表于 2016-1-14 15:59:23 |
6666666666

驾校小白

UID:16690

主题:
4
帖子:
39
云币:
384

圣诞节

发表于 2016-1-26 08:53:05 |
6666666666666666666
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表