微信公衆番号はユーザーの位置を特定する


微信公衆番号はユーザーの位置を特定する
  • 最近プロジェクトの原因で、微信の公衆番号に関連して、数日のドキュメントを見て同僚に聞いて、このものに対して少し理解して、微信の公衆番号の位置付けの方法を書いて、後で便利に使うことを覚えます.
  • //  code
        var url = location.href.split('#')[0];
        var area=getUrlParams("area");
        if(!area){
            //  signInfo
            $.ajax({
                url: "url",
                type: "post",
                dataType: "json",
                data: {"url": url},
                async: false,
                success: function (data) {
                    if (data) {
                        initWxConfig(data);
                    }
                },
                error: function () {
                    $.attr("       ");
                }
            });
    
            function initWxConfig(data) {
                wx.config({
                    //       ,     api         alert  ,         ,
                    debug: false, 
                    //   ,        ,       corpid
                    appId: data.appidInfo, 
                    //   ,        
                    timestamp: data.timestamp, 
                    //   ,        
                    nonceStr: data.nonceStr, 
                    //   ,  ,   1
                    signature: data.signature,
                    //   ,     JS    ,  JS       2
                    jsApiList: ["getLocation"] 
                });
                wxLocation();
            }

    上の微信の初期化の構成は簡単に省略して、主に肝心なappidと署名の同僚の協議が呼び出すapiインタフェースのリストを取得して、下の辺は重点的にlocationを取得します
    function wxLocation() {
                //                                   api  ,API          
                wx.ready(function () {
                    //         
                    wx.getLocation({
                        success: function (res) {
                            AMap.service('AMap.Geocoder', function () {//    
                                //   Geocoder
                                geocoder = new AMap.Geocoder();
                                //                 
                                var lnglatXY = [res.longitude, res.latitude];
                                geocoder.getAddress(lnglatXY, function (status, result) {
                                    if (status === 'complete' && result.info === 'OK') {
                                        //          ,           ,               api         
                                        var data=result.regeocode.addressComponent,
                                            province = data.province,
                                            city = data.city,
                                            district = data.district;
                                        $("#fsenderAddress").val(province+"-"+city+"-"+district).trigger("change");
                                        geocoder.getLocation(city+district, function(status, result) {
                                            if (status === 'complete' && result.info === 'OK') {
                                                $("#fsenderCountyCode").val(result.geocodes[0].adcode)
                                            }
                                        })
                                    } else {
                                        //      
                                    }
                                });
                            })
                        },
                        cancel: function (res) {
                            alert('            ');
                        }
                    });
                });
            }

    まずこんなにたくさん記録しましょう.の