微信开发:对接JS-SDK微信内置地图获取当前位置

1.首先第一步查看一下自己的微信公众平台有没有获取js-sdk地图的开发者权限

2.引用jar包:

3.进入首页的时候,开始获取我们的位置信息:

   PS:注意这个是写在首页的,下面那个才是写在你要调启接口的页面

 (3.1) vip_wxsdk_config方法:

@ResponseBody
@RequestMapping("vip_wxsdk_config")
public Map vip_wxsdk_config(Model model, Wx wx, HttpSession session, String url) {
	wx = wxService.selectByPrimaryKey(1);
	// 1、获取AccessToken
	String jsapi_ticket = "";
	String accessToken = "";
	if (session.getAttribute(Constants.jsapi_ticket) != null) {
		jsapi_ticket = session.getAttribute(Constants.jsapi_ticket).toString();
	} else {
		accessToken = CommonUtil.getToken(wx.getWxAppid(), wx.getWxAppsecret()).getAccessToken();
		// 2、获取Ticket
		jsapi_ticket = CommonUtil.getTicket(accessToken);
		session.setAttribute(Constants.jsapi_ticket, jsapi_ticket);
	}
	// 3、时间戳和随机字符串
	String noncestr = AdvancedUtil.getNonceStr();
	String timestamp = Sha1Util.getTimeStamp();
	// System.out.println("accessToken:"+accessToken+"\njsapi_ticket:"+jsapi_ticket+"\n时间戳:"+timestamp+"\n随机字符串:"+noncestr);
	// 5、将参数排序并拼接字符串
	String str = "jsapi_ticket=" + jsapi_ticket + "&noncestr=" + noncestr + "×tamp=" + timestamp + "&url=" + url;
	// 6、将字符串进行sha1加密
	String signature = SHAUtils.SHA1(str);
	map = new HashMap();
	map.put("appid", wx.getWxAppid());
	map.put("accessToken", accessToken);
	map.put("jsapi_ticket", jsapi_ticket);
	map.put("timestamp", timestamp);
	map.put("noncestr", noncestr);
	map.put("signature", signature);
	return map;
}

(3.2) vip_wxsdk_dingwei方法:

@ResponseBody
@RequestMapping("vip_wxsdk_dingwei")
public Map vip_wxsdk_dingwei(Model model, Wx wx, String latitude, String longitude, HttpSession session) {
	if (latitude != null && longitude != null) {
		session.setAttribute("latitude", latitude);
		session.setAttribute("longitude", longitude);
		this.prompt = "success";
	} else {
		this.prompt = "error";
	}
	return map;
}

4.在我们要跳转的页面加上调启的js:

 

你可能感兴趣的:(Java,-,微信篇)