欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java微信開發(fā)中的地圖定位功能

 更新時間:2018年07月25日 09:49:26   作者:有猿人  
本文通過實(shí)例代碼給大家介紹了java微信開發(fā)中的地圖定位功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

頁面代碼:

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  <title>填寫基本信息</title>
  <link href="<%=basePath %>js/common.css" rel="external nofollow" rel="stylesheet" />
  <script src="<%=basePath %>js/jquery-2.1.0.js" type="text/javascript" charset="utf-8"></script>
  <link href="<%=basePath %>js/master.css" rel="external nofollow" rel="stylesheet" />
</head>
<body style="background: #f5f5f5;">
  <section>
    <div class="content-detail">
      <div class="detail mt20">
        <div class="detail-div"><span class="name">物品名稱</span><span class="shuru"><input type="text" id="wpmc"></span></div>
        <div class="wxapi_container">
          <div class="lbox_close wxapi_form">
            <!-- <div style="clear:both"></div>
            <!-- <div style="clear:both"></div> -->
            <span class="desc">拍照或從手機(jī)相冊中選擇圖片</span>
             <button class="btn btn_primary" id="chooseImage">選擇圖片</button> 
            <!-- <h3 id="menu-image">已選擇圖片</h3> -->
            <div id="imgs"></div>
            <button class="btn btn_primary" id="uploadImage">上傳圖片</button>
            <h3 id="upload-image">已上傳圖片</h3>
            <div id="uploadImgs"></div>
            <!-- <button class="btn btn_primary" id="postData">提交</button> -->
          </div>
        </div>
        <div class="detail-div detail-div-ha"><span class="name">物品描述</span><span class="shuru"><textarea id="wpms" rows="6" cols=""></textarea></span></div>
        <div class="detail-div"><span class="name">經(jīng)度</span><span class="shuru"><input id="jingdu" type="text"></span></div>
        <div class="detail-div"><span class="name">緯度</span><span class="shuru"><input id="weidu" type="text"></span></div>
        <div class="detail-div"><span class="name">地址</span><span class="shuru"><input id="dizhi" type="text"></span></div>
        <div class="detail-div"><span class="name">海拔</span><span class="shuru"><input id="haiba" type="text"></span></div>
      </div>
      <div class="detail-btn">
        <a class="save" id="postData" href="javascript:;" rel="external nofollow" rel="external nofollow" >保存</a>
        <a id="getlocation" href="javascript:;" rel="external nofollow" rel="external nofollow" >地圖</a>
      </div>
    </div>
  </section>
   <div id="map" style="height:200px;left:"class="content-detail"></div> 
   <div id="map1" style="height:200px;left:"class="content-detail"></div> 
</body>
<script charset="utf-8" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script src="http://ditu.google.cn/maps/api/js?key=AIzaSyDcGSUQz920n7V2LaPVs-tH9qMhkaHkTyo&language=zh-CN"></script>
  <script type="text/javascript"> 
  var images = {
      index:1,  //用于產(chǎn)生全局圖片id,綁定已選擇圖片和已上傳圖片
      selectIds: {}, //保存已經(jīng)選擇的圖片id
      uploadIds:{} //保存已經(jīng)上傳到微信服務(wù)器的圖片
    };
  wx.config({
    debug: false, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會通過log打出,僅在pc端時才會打印。
    appId: '${appid}', // 必填,企業(yè)號的唯一標(biāo)識,此處填寫企業(yè)號corpid
    timestamp: '${timestamp}', // 必填,生成簽名的時間戳
    nonceStr: '${nonceStr}', // 必填,生成簽名的隨機(jī)串
    signature: '${signature}',// 必填,簽名,見附錄1
    jsApiList: ['getLocation','openLocation','chooseImage','uploadImage','downloadImage'] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
  });
  function i(i, a) {
    var t = 52.35987755982988,
    e = a,
    n = i,
    o = Math.sqrt(e * e + n * n) + 2e-5 * Math.sin(n * t),
    l = Math.atan2(n, e) + 3e-6 * Math.cos(e * t),
    d = o * Math.cos(l) + .0065,
    s = o * Math.sin(l) + .006;
    return {
      longitude: d,
      latitude: s
    }
  }
  var lat;
  var lng;
  wx.ready(function () {
    wx.getLocation({
      type: 'gcj02', // 默認(rèn)為wgs84的gps坐標(biāo),如果要返回直接給openLocation用的火星坐標(biāo),可傳入'gcj02'
      success: function (res) {
        lat = res.latitude; // 緯度,浮點(diǎn)數(shù),范圍為90 ~ -90
        lng = res.longitude; // 經(jīng)度,浮點(diǎn)數(shù),范圍為180 ~ -180。
        var speed = res.speed; // 速度,以米/每秒計(jì)
        var accuracy = res.accuracy; // 位置精度
        var e = i(lng,lat);
        //alert(e.longitude + ',' + e.latitude);
        $("#jingdu").val(lng);
        $("#weidu").val(lat);
        //goole api 獲得海拔
         var elevator = new google.maps.ElevationService;
         var latLng = {"lat":lat,"lng":lng};
           elevator.getElevationForLocations({
            'locations': [latLng]
           }, function(results, status) {
            if (status === 'OK') {
             if (results[0]) {
               $("#haiba").val(results[0].elevation+"米");
             } else {
             }
            } else {
            }
            }); 
        var MJKD_LATLNG = e.longitude + ',' + e.latitude;
        var url = 'http://api.map.baidu.com/geocoder/v2/?ak=6yAoynmTPNlTBa8z1X4LfwGE&location=' + MJKD_LATLNG + '&output=json&pois=1';
        $.get(url, function(data) {
         if(data.status === 0) {
          //alert(data.result.formatted_address + '=>' + data.result.sematic_description);
           $("#dizhi").val(data.result.sematic_description);
         }
        }, 'jsonp');
      } 
    });
    // 圖片接口
    // 拍照、本地選圖
    $("#chooseImage").on("click", function () {
      wx.chooseImage({
        success: function (res) {
          for (var i = 0; i < res.localIds.length; i++) {
             //全局圖片id,綁定微信選擇圖片產(chǎn)生的localId,將用戶選擇圖片追加到已選擇圖片
            var id = '' + images.index++; 
            images.selectIds[id] = res.localIds[i]; 
            $('#imgs').append('<div class="imgdiv"><div class="box"><input id="' + id +'" type="checkbox"/><img style="width:200px;height:200px" src="' + res.localIds[i] + '" /></div></div>');
          }
          console.log('已選擇了 ' + Object.keys(images.selectIds).length + ' 張圖片');
        }
      });
    });
    //上傳圖片(保存到j(luò)s)
    $("#uploadImage").on("click", function () {
      if (Object.keys(images.selectIds).length == 0) {
        alert('請先選擇圖片');
        return;
      }
      var i = 0, length = Object.keys(images.selectIds).length;
      var selectIds = []; //需要上傳的圖片的全局圖片id
      for(var id in images.selectIds){
        selectIds.push(id);
      }
      function upload() {
        wx.uploadImage({
          localId: images.selectIds[selectIds[i]], //根據(jù)全局圖片id獲取已選擇圖片
          isShowProgressTips: 0, // 默認(rèn)為1,顯示進(jìn)度提示
          success: function (res) {
            //上傳成功,images.selectIds中移除,images.uploadIds追加
            //圖片從已選擇移到已上傳區(qū)域
            var selectId = selectIds[i];
            localId = images.selectIds[selectId];
            removeId(selectId);
            $('#uploadImgs').append('<div class="imgdiv"><div class="box"><input id="' + selectId +'" type="checkbox"/><img style="width:200px;height:200px" src="' + localId + '" /></div></div>');
            images.uploadIds[selectId] = res.serverId
            i++;
            if (i < length) {
              console.log('已上傳成功 ' + i + '/' + length);
              upload();
            } else {
              alert('圖片上傳完畢, 已上傳成功 ' + i + '/' + length);
            }
          },
          fail: function (res) {
            alert('上傳失敗 ' + i + '/' + length);
          }
        });
      }
      upload();
    });
  });
    //保存
    $('#postData').click(function () {
      var wpmc = $("#wpmc").val();
      var wpms = $("#wpms").val();
      var jingdu = $("#jingdu").val();
      var weidu = $("#weidu").val();
      var dizhi = $("#dizhi").val();
      if (Object.keys(images.uploadIds).length == 0) {
        alert('請先上傳圖片');
        return false;
      }
      var serverIds = [];
      var serverId;
      for(var id in images.uploadIds){
        serverIds.push(images.uploadIds[id]);
      }
      var data = {
        'imgIds': serverIds
      }
      $.ajax({
        type: "post",
        async: false,
        url: '/uploadImgData',
        data: {"data": JSON.stringify(data), "wpmc":wpmc , "wpms":wpms , "jd":jingdu, "wd": weidu, "dz":dizhi},
        dataType: "text",
        success: function (data) {
          if (data == "success") {
             alert('保存成功!');
             location.reload();
          } else {
            alert('保存失敗');
          }
        },
        error: function (e) {
          alert(11);
        }
      });
    });
  //點(diǎn)擊復(fù)選按鈕,刪除.
  $("body").on('click', ':checkbox', function(){
    var id = $(this).attr('id');
    removeId(id);
  });
  function removeId(id){
    if(id in images.selectIds){
      delete images.selectIds[id]
    }else{
      delete images.uploadIds[id]
    }
    $('#' + id).parent().parent().remove();
  }

  //獲取地圖
  $("#getlocation").click(function(){
    wx.openLocation({
      latitude: lat, // 緯度,浮點(diǎn)數(shù),范圍為90 ~ -90
      longitude:lng, // 經(jīng)度,浮點(diǎn)數(shù),范圍為180 ~ -180。
      name: $("#dizhi").val(), // 位置名
      address: '當(dāng)前位置', // 地址詳情說明
      scale: 16, // 地圖縮放級別,整形值,范圍從1~28。默認(rèn)為最大
      infoUrl: '' // 在查看位置界面底部顯示的超鏈接,可點(diǎn)擊跳轉(zhuǎn)
    });
  })
  </script> 
</html>

總結(jié)

以上所述是小編給大家介紹的java微信開發(fā)中的地圖定位功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java中try catch處理異常示例

    Java中try catch處理異常示例

    這篇文章主要給大家介紹了關(guān)于Java中try catch 的基本用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • java為移動端寫接口開發(fā)實(shí)例

    java為移動端寫接口開發(fā)實(shí)例

    本篇文章主要介紹了java如何為移動端寫接口,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Spring?JPA?deleteInBatch導(dǎo)致StackOverflow問題

    Spring?JPA?deleteInBatch導(dǎo)致StackOverflow問題

    這篇文章主要介紹了Spring?JPA?deleteInBatch導(dǎo)致StackOverflow問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java中mybatis的三種分頁方式

    Java中mybatis的三種分頁方式

    這篇文章主要介紹了Java中mybatis的三種分頁方式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Java JDK動態(tài)代理(AOP)用法及實(shí)現(xiàn)原理詳解

    Java JDK動態(tài)代理(AOP)用法及實(shí)現(xiàn)原理詳解

    在本篇文章了小編給大家整理的是一篇關(guān)于Java JDK動態(tài)代理(AOP)用法及實(shí)現(xiàn)原理詳解內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2020-10-10
  • 5分鐘快速創(chuàng)建spring boot項(xiàng)目的完整步驟

    5分鐘快速創(chuàng)建spring boot項(xiàng)目的完整步驟

    這篇文章主要給大家介紹了關(guān)于通過5分鐘快速創(chuàng)建spring boot項(xiàng)目的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Java同步非阻塞模式NIO處理IO數(shù)據(jù)

    Java同步非阻塞模式NIO處理IO數(shù)據(jù)

    這篇文章主要介紹了Java同步非阻塞模式NIO處理IO數(shù)據(jù),服務(wù)器實(shí)現(xiàn)模式為一個請求一個線程,即客戶端發(fā)送的鏈接請求都會注冊到選擇器上,選擇器輪詢到連接有IO請求時才啟動一個線程進(jìn)行處理,需要的朋友可以參考下
    2023-10-10
  • Java 進(jìn)制轉(zhuǎn)換的方法

    Java 進(jìn)制轉(zhuǎn)換的方法

    這篇文章介紹了Java 進(jìn)制轉(zhuǎn)換的方法,有需要的朋友可以參考一下
    2013-09-09
  • Hadoop中的壓縮與解壓縮案例詳解

    Hadoop中的壓縮與解壓縮案例詳解

    壓縮就是通過某種技術(shù)(算法)把原始文件變下,相應(yīng)的解壓就是把壓縮后的文件變成原始文件,本文給大家分享Hadoop中的壓縮知識,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • MyBatis中動態(tài)SQL的使用指南

    MyBatis中動態(tài)SQL的使用指南

    MyBatis 是一個流行的持久層框架,它通過 XML 或注解將接口方法與 SQL 映射在一起,動態(tài) SQL 是 MyBatis 的一大特性,它使得構(gòu)建靈活的查詢變得簡單,本文將通過一個 User 表的示例,介紹 MyBatis 中常用的動態(tài) SQL 方法,需要的朋友可以參考下
    2024-09-09

最新評論