1. 程式人生 > >微信公眾號開發之內建地圖

微信公眾號開發之內建地圖

var currurl = decodeURIComponent(location.href.split('#')[0]);
        $.ajax({//授權
	       url : "../initWXJSInterface",  
	       dataType : 'json',  
	       data : {  
	           'url' : currurl//需要授權的頁面
	       },  
	      complete : function(XMLHttpRequest, textStatus) {},  
	       error : function(XMLHttpRequest, textStatus, errorThrown) {  
	           alert("發生錯誤:" + errorThrown);  
	       }, 
	       success : function(res) {
	    		var appId = res.appId; 
	            var nonceStr = res.nonceStr;  
	            var jsapi_ticket = res.jsapi_ticket;
	            //alert(JSON.stringify(res));
	            var timestamp = res.timestamp;  
	            var signature = res.signature;
		         wx.config({
				      debug: false,
				      appId: appId,
				      timestamp: timestamp,
				      nonceStr: nonceStr,
				      signature: signature,
				      jsApiList: [
			                 'openLocation',
			                  'getLocation',
				      ]
				  });
	       }
	     });//ajaxEnd
         //通過ready介面處理成功驗證,載入直接呼叫的程式放在ready中,這裡目前為空
         wx.ready(function () {

         });
         //實現的是點選class是go的標籤根據已知的經緯度開啟內建地圖
       $(document).on('click', '.go', function(){
    	   /* wx.getLocation({*///getLocation是獲取到當前的地理位置(經緯度)
    		    var status=$(".go")[0].id;//獲取點選的索引
            	var i=parseInt(status);
            	var list=JSON.parse('${shopStrategyList}');
            	var storeLocation=list[i].storeLocation;
            	var latitude=parseFloat(storeLocation.split(",")[0]);//緯度
            	var longitude=parseFloat(storeLocation.split(",")[1]);//經度
	    	   wx.openLocation({
	    		   latitude: latitude,// 緯度,浮點數,範圍為90 ~ -90
	    		   longitude: longitude,// 經度,浮點數,範圍為180 ~ -180
	    		   name: list[i].storeName, //要寫引號位置名
	    		   address: list[i].storeAddress, //要寫引號地址詳情說明
	    		   scale: 14,// 地圖縮放級別,整形值,範圍從1~28。預設為最大
	    		   infoUrl: "http://www.baidu.com" //要寫引號// 在檢視位置介面底部顯示的超連結,可點選跳轉
	    		}); //end wx.openLocation
	   		   wx.error(function (res) {
	   		      alert(res.errMsg);
	   		   });
        });
        親測有效