$(function () {
$.ajax({
async:false,
url:"/getwechatparams",
type:"POST",
data: {"url": window.location.href
},
dataType:"json",
success: function (bal) {
wx.config({
debug:false, //开启调试模式,调用的所有api的返回值会在客户端alert出来
appId: bal.appId, //必填,公众号的唯一标识
timestamp: bal.timestamp, //必填,生成签名的时间戳
nonceStr: bal.nonceStr, //必填,生成签名的随机串
signature: bal.signature,//必填,签名,见附录1
jsApiList: ['openLocation', 'getLocation'] //必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function () {
wx.getLocation({//获取微信接口中的当前坐标经纬度
type: 'wgs84', //GPS坐标
success: function (res) {//alert("gps转换前:" + res.longitude + "," + res.latitude)
var lnggg= ''; //经度
var lattt = ''; //纬度
var coordinate = ''; //签到地点坐标
$.ajax({
async:false,
url:"/get/location",
data: {"longitude": res.longitude,"latitude": res.latitude
},
dataType:'json',
success: function (responseData) {
lnggg=responseData.obj.lng;
lattt=responseData.obj.lat;
},
error: function (responseData) {
alert(responseData.msg);
}
});//百度地图API功能
var map = new BMap.Map("allmap");
map.enableScrollWheelZoom(true);//alert("gps转换后" + lnggg + ',' + lattt);
var point = newBMap.Point(lnggg, lattt);
var geo= newBMap.Geocoder();
geo.getLocation(point, function (rs) {
var addComp=rs.addressComponents;
var address= addComp.city + addComp.district + addComp.street; //当前自身详情街道地址//alert(address)
});
var geolocation= newBMap.Geolocation();
geolocation.getCurrentPosition(function (r) {
r.point.lng=lnggg;
r.point.lat=lattt;//alert("r.point.lng:" + r.point.lng + ",r.point.lat:" + r.point.lat);
if (this.getStatus() ==BMAP_STATUS_SUCCESS) {
var mk= new BMap.Marker(r.point); //创建标注
map.addOverlay(mk); //将标注小红点添加到地图中
map.centerAndZoom(r.point, 16); //缩放级别16
map.panTo(r.point);
coordinate= "116.40213223,40.10213223"; //签到地点坐标
var arr = coordinate.split(",");
var lon= arr[0];
var latt= arr[1];
var pointAttendance= newBMap.Point(lon, latt);
r.point.lng=lon;
r.point.lat=latt;
var mk2= newBMap.Marker(r.point);
var label= new BMap.Label("显示的文字", {offset: new BMap.Size(20, -10)});
mk2.setLabel(label);
map.addOverlay(mk2);
map.addOverlay(pointAttendance);
mk2.setAnimation(BMAP_ANIMATION_BOUNCE);//点跳动,没反应
circle= new BMap.Circle(pointAttendance, 200, {
fillColor:"blue",
strokeWeight:1,
fillOpacity:0.2,
strokeOpacity:0.2});//显示签到点的位置(半径为200米的一个圆)
map.addOverlay(circle);//计算当前位置与考勤点距离
var distance = map.getDistance(pointAttendance, point).toFixed(2);//alert("距离为" + distance);
}else{switch (this.getStatus()) {case 2:
$.alert("位置结果未知 获取位置失败...", "加载地图失败", function () {});break;case 3:
$.alert("导航结果未知 获取位置失败...", "加载地图失败", function () {});break;case 4:
$.alert("非法密钥 获取位置失败...", "加载地图失败", function () {});break;case 5:
$.alert("非法请求位置 获取位置失败...", "加载地图失败", function () {});break;case 6:
$.alert("sorry 当前没有权限 获取位置失败...", "加载地图失败", function () {});break;case 7:
$.alert("sorry 服务不可用 获取位置失败...", "加载地图失败", function () {});break;case 8:
$.alert("sorry 请求超时 获取位置失败...", "加载地图失败", function () {});break;
}
}
}, {
enableHighAccuracy:true})
},
error: function () {
$.alert("请检查GPS网络是否正常", "加载地图失败", function () {});
}
}
);
});
}
});
});