var map;// 地图对象
var ac;// ac自动完成对象
var isReturnNum = false;// 初始未返回微信的经纬度信息
var parkMarkers = [];// 停车场覆盖物
var searchMarkers = [];// 搜索图标
var selectMarker = "";// 选中的覆盖物
var selectPoint = "";// 选中的覆盖物点
var selectMarkerColor = 0;// 选中的停车点剩余临界值类型(停车点标记颜色 0-蓝色(默认) 1-黄色 2-红色 )
var selectParkingType="";// 选中的停车点类型(停车点类型:0-路边停车点,1-路边简易停车点,2-场内停车点)
var selectFlag = false;// 是否选择过覆盖物,true表示选中
// 初始化获取当前用户的位置,如获取默认坐标不成功则赋值(绍兴城市广场坐标)
var latitudeNum = 30.009466;//30.214684;// 纬度
var longitudeNum = 120.58606;//120.218346;// 经度
var oldMyLocationMaker;// 旧的我的位置覆盖物
var newMypoint;//微信刷新定位:我的位置
wx.config({
//debug : true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId : $("#appId").val(), // 必填,公众号的唯一标识
timestamp : $("#timestamp").val(), // 必填,生成签名的时间戳
nonceStr : $("#nonceStr").val(), // 必填,生成签名的随机串
signature : $("#signature").val(), // 必填,签名,见附录1
jsApiList : ['getLocation' ]// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function() {
getLocation();
});
//获取当前地址
function getLocation(){
wx.getLocation({
type : 'wgs84',//GPS设备获取的角度坐标,wgs84坐标;
//type : 'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标(国测局坐标),可传入'gcj02'
success : function(res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
if(typeof (latitude) != "undefined" && latitude != null&&typeof (longitude) != "undefined" && longitude != null){
isReturnNum=true;
var gpsPoint = new BMap.Point(longitude,latitude);//GPS定位的地图坐标点
gpsConvertBaidu(gpsPoint);//(微信定位的坐标)转为百度坐标
}
var speed = res.speed; // 速度,以米/每秒计
var accuracy = res.accuracy; // 位置精度
},
cancel: function (res) {
alert('用户拒绝授权获取地理位置!');
isReturnNum = false;
}
});
}
/**
* 坐标转换完之后的回调函数处理
*/
translateCallback = function (data){
if(data.status === 0) {
//去除旧的定位点覆盖物,设置新的定位点覆盖物并查周边停车场信息
newMypoint=data.points[0];
changeMapAddr(data.points[0]);
}
}
/**
* 微信公众号GPS坐标转换百度坐标
* 具体参考:http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition
*/
function gpsConvertBaidu(gpsPoint){
var convertor = new BMap.Convertor();
var pointArr = [];
pointArr.push(gpsPoint);
convertor.translate(pointArr,1,5, translateCallback);//GPS设备获取的角度坐标,wgs84坐标,定位转码;
// convertor.translate(pointArr,3,5, translateCallback);//google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标,国测局坐标,定位转码;
}
//页面加载初始化地图
initMap();
/**
* 初始化创建和初始化地图函数
* 初始化查询我的位置附近停车场
*/
function initMap() {
createMap_1();// 创建地图
createAutoMap();// 创建自动完成的map对象
setMapEvent_1();// 设置地图事件
addMapControl_1();// 初始化向地图添加控件
var mypoint = new BMap.Point(longitudeNum,latitudeNum); // 我的位置坐标
addMapOverlay_1(mypoint);// 初始化向地图添加覆盖物
// 初始化查询我的位置附近停车场
seachNearbyPark(longitudeNum, latitudeNum);
}
/**
* 创建地图
*/
function createMap_1() {
map = new BMap.Map("allmap"); // 创建Map实例
map.centerAndZoom(new BMap.Point(longitudeNum, latitudeNum), 18);// 初始化地图,设置中心点坐标和地图级别。
}
/**
* 设置地图事件
*/
function setMapEvent_1() {
addClickHandler_1(map);// 地图页面单击事件
addClickHandler_searchOnListOnBlur(ac);//搜索框鼠标放在下拉列表上的事件
addClickHandler_searchOnListOnClick(ac);//鼠标点击下拉列表后的事件
}
/**
* 向地图添加控件
*/
function addMap