From 35fefed0792c40cb99b8d15fa5811bbb5992bff9 Mon Sep 17 00:00:00 2001 From: D:/workspace/chenjingjing/git/gx_tieta/gx_tieta/.gitignore <chenjingjing@LAPTOP-E51P2139> Date: 星期一, 21 一月 2019 10:42:24 +0800 Subject: [PATCH] 修改 --- gx_tieta/WebRoot/mobil/map.html | 598 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 590 insertions(+), 8 deletions(-) diff --git a/gx_tieta/WebRoot/mobil/map.html b/gx_tieta/WebRoot/mobil/map.html index b479468..5b09b61 100644 --- a/gx_tieta/WebRoot/mobil/map.html +++ b/gx_tieta/WebRoot/mobil/map.html @@ -39,7 +39,29 @@ /* 瀹氫箟浣嶇疆 */ margin-left: 200px; } - .map-panel-btn:hover { + + .map-panel-seen-btn { + font-size: 12px; + text-decoration: none!important; + font-family: Helvetica, Arial, sans serif; + padding: 4px 12px; + border-radius: 3px; + -moz-border-radius: 3px; + box-shadow: inset 0px 0px 2px #fff; + -o-box-shadow: inset 0px 0px 2px #fff; + -webkit-box-shadow: inset 0px 0px 2px #fff; + -moz-box-shadow: inset 0px 0px 2px #fff; + /*瀹氫箟棰滆壊鍜屾牱寮�*/ + color: #41788c; + border: 1px solid #6fb1c7; + background-image: -moz-linear-gradient(#aae5f7, #73d0f1); + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#73d0f1), to(#aae5f7)); + background-image: -webkit-linear-gradient(#aae5f7, #73d0f1); + background-image: -o-linear-gradient(#aae5f7, #73d0f1); + text-shadow: 1px 1px 1px #bfeafb; + background-color: #73d0f1; + } + .map-panel-btn:hover, .map-panel-seen-btn:hover { border: 1px solid #4690ad; background-image: -moz-linear-gradient(#73d0f1, #aae5f7); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#aae5f7), to(#73d0f1)); @@ -55,7 +77,7 @@ <div class="page-header bg-gay3"> <div class="layui-row h40"> <div class="layui-col-xs3 layui-col-md1 full-height"> - <button class="layui-btn layui-btn-primary layui-btn-sm mrt5 mrl8"><i class="fa fa-reply mrr4"></i>杩斿洖</button> + <a href="index.html" class="layui-btn layui-btn-primary layui-btn-sm mrt5 mrl8"><i class="fa fa-reply mrr4"></i>杩斿洖</a> </div> <div class="layui-col-xs6 layui-col-md10 full-height line-height40">鏈烘埧瀹氫綅</div> <div class="layui-col-xs3 layui-col-md1 full-height line-height40 t-align-right t-align-right"> @@ -66,6 +88,13 @@ <div class="page-content abs abs-top40"> <div class="rel-full"> <div id="map" class="full-height"></div> + <div id="tempMapContainer" class="temp-map-container"> + <div class="temp-map-container-rel"> + <div class="temp-map-container-close"><i class="fa fa-close"></i></div> + <div id="changeMapMarker" class="temp-map"></div> + </div> + + </div> <div id="mapSearch" class="map-search-container"> <div class="layui-form layui-form-pane" action=""> <div class="layui-form-item"> @@ -85,10 +114,13 @@ </div> <!-- 瀛樺偍鏈烘埧淇℃伅鍒楄〃 --> <div id="searchHomeIframe"></div> + <!-- 鏈烘埧瀹氫綅 --> + <div id="homeLocation"></div> <!-- 瀛樺湪鏈烘埧淇℃伅 --> <div id="homeInfoIframe"></div> <script src="js/jquery-1.8.3.js"></script> <script src="src/layui.all.js"></script> + <script src="../pages/js/GPS.js"></script> <script> // 鐧惧害鍦板浘妯″潡 var map = new BMap.Map('map'); @@ -98,7 +130,17 @@ map.disableDoubleClickZoom(); // 缁欏湴鍥炬坊鍔犲伐鍏锋潯(鍦板浘-鍗槦-涓夌淮)鍜屾瘮渚嬪昂鎺т欢 map.addControl(new BMap.MapTypeControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT})); - + + // 鐧惧害鍦板浘涓存椂妯″潡 + var tmpMap = new BMap.Map('changeMapMarker'); + var point = new BMap.Point(125.3192,43.8090); + tmpMap.centerAndZoom(point, 11); // 鐢ㄥ煄甯傚悕璁剧疆鍦板浘涓績鐐� + tmpMap.enableScrollWheelZoom(); + tmpMap.disableDoubleClickZoom(); + // 缁欏湴鍥炬坊鍔犲伐鍏锋潯(鍦板浘-鍗槦-涓夌淮)鍜屾瘮渚嬪昂鎺т欢 + tmpMap.addControl(new BMap.MapTypeControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT})); + + // 娴忚鍣ㄥ畾浣嶏紙鍓嶆彁鏄湁缃戠粶鍜屽紑鍚疓PS鏉冮檺锛� var geolocation = new BMap.Geolocation(); @@ -116,7 +158,7 @@ mk.enableDragging(); // 璁剧疆鍙嫋鍔� map.addOverlay(mk); // 灏嗚鐩栫墿娣诲姞鍒板湴鍥句腑 mk.setLabel(label); // 缁欒鐩栫墿娣诲姞label鎻愮ず - map.panTo(r.point, 20); // 灏嗗湴鍥剧Щ鍔ㄥ埌娣诲姞鐨勭偣浣嶇疆 + map.panTo(r.point); // 灏嗗湴鍥剧Щ鍔ㄥ埌娣诲姞鐨勭偣浣嶇疆 map.setZoom(20); // 璁剧疆鍦板浘鐨勭缉鏀剧瓑绾� // 缁檓aker鐐圭粦瀹氱偣鍑讳簨浠� @@ -135,10 +177,13 @@ var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length -1; i++){ if(allOverlay[i].getLabel) { - if(allOverlay[i].getLabel().content == str){ - map.removeOverlay(allOverlay[i]); - return false; + if(allOverlay[i].getLabel()) { + if(allOverlay[i].getLabel().content == str){ + map.removeOverlay(allOverlay[i]); + return false; + } } + } } @@ -235,6 +280,7 @@ ,anim: 4 ,content: 'iframe/homeinfo.html' }); + layer.full(iframePopup); } // 鐐瑰嚮绛涢�夊脊鍑哄唴瀹� @@ -248,6 +294,7 @@ ,anim: 4 ,content: 'iframe/homeinfo.html' }); + layer.full(iframePopup); }); // 鎼滅储鏈烘埧鑾峰彇鐒︾偣 @@ -262,6 +309,7 @@ ,anim: 5 ,content: 'iframe/searchHome.html' }); + layer.full(iframePopup); }); // 鏌ヨ鏈烘埧 @@ -300,7 +348,527 @@ }); } - + + // 鏄剧ず鍦板浘鍥炬爣 + var allStation = []; + function searchStation(){ + var temp = createSearchParam(); + var json = JSON.stringify(temp); + var load = layer.load(1); + // 鏌ヨ鍚庡彴 + $.ajax({ + type: "post", + url: "BattMap_informationAction!searchUserManageStation", + async: true, + dataType:'text', + data:"json="+json, + success: function(data){ + data = eval('('+data+')'); + // 鑾峰彇缁撴灉闆� + var rs = JSON.parse(data.result); + var list = rs.data; + // console.log(list); + allStation = new Array(); + if(list!=undefined && list.length>0){ + // 閬嶅巻鏌ヨ缁撴灉 + for(var i=0;i<list.length;i++){ + var _list = list[i]; + allStation.push(formatAllStation(_list)); + } + + createMapDot(map, allStation); + queryInRect(map); + map.addEventListener("moveend", queryInRect.bind({},map)); // 鎷栧姩 + map.addEventListener("zoomend", queryInRect.bind({},map)); // 缂╂斁 + } + }, + complete:function() { + layer.close(load); + } + }); + } + + //鏋勯�犳煡璇㈡潯浠� + function createSearchParam(){ + var bmd = { + adata:{ + alm_cleared_type:$('#alarm-station').length == 0?0:$('#alarm-station').is(":checked")?0:100, + alm_id:$('#low-station').length==0?1:$('#low-station').is(":checked")?1:100, + }, + bplan:{ + discharge_reason:$('#delayed-station').length==0?3:$('#delayed-station').is(":checked")?3:100, + } + }; + + return bmd; + } + + // 鏍煎紡鍖栨煡璇㈢粨鏋� + function formatAllStation(list) { + var obj = new Object(); + // GPS鍧愭爣杞寲涓虹櫨搴﹀潗鏍� + var point = GPS.wgs2bd(list.latitude, list.longitude); + // 鏋勯�犵粨鏋滈泦 + obj.lng = point.lon; + obj.lat = point.lat; + obj.title = list.StationName; + obj.sId = list.StationId; + obj.fbsId = list.FBSDeviceId; + obj.addr = list.Address; + obj.msg = ""; + obj.num = list.num; + return obj; + } + + // 鐢熸垚鍦板浘鍥炬爣 + function createMapDot(map, dotList) { + // 閬嶅巻鏌ヨ鍐呭鐢熸垚瀵瑰簲鐨勫浘鏍� + for(var i = 0; i<dotList.length; i++) { + var pt = new BMap.Point(dotList[i].lng, dotList[i].lat); + var mk = new BMap.Marker(pt); // 瀹氫箟marker鐐� + // 鍚憁k鐐规坊鍔爈abel + var home_name = new BMap.Label(dotList[i].title, {offset:new BMap.Size(20,-10)}); + home_name.setStyle({display: 'none', padding: '4px 2px'}); // 璁剧疆涓嶅彲瑙� + mk.setLabel(home_name); // 璁剧疆label + + mk.addEventListener('click', function(e) { + var target = e.target; + //showMapPanel(target, dotList); + searchPanelInfo(target.point); + }); + + + map.addOverlay(mk); // 娣诲姞瑕嗙洊鐗� + mk.hide(); + } + } + + // 鏌ヨ鏈烘埧闈㈡澘淇℃伅 + function searchPanelInfo(param) { + var point = new BMap.Point(param.lng, param.lat); + var stationInfo = getStaionByPoint(point); + if(!stationInfo) { + alert('闈㈡澘淇℃伅鏌ヨ澶辫触锛�'); + return; + } + var temp = { + StationId: stationInfo.sId + }; + var load = layer.load(1); + // 鏌ヨ闈㈡澘淇℃伅 + $.ajax({ + type: 'post', + async: true, + url: 'BattMap_informationAction!searchUserManageStation3', + data: 'json='+JSON.stringify(temp), + dataType: 'json', + success: function(result) { + var rs = JSON.parse(result.result); + if(rs.length != 0) { + var data = rs[0]; + console.info(data); + var content = '<div style="padding:6px 0; width:50%; float:left;"><span>钃勭數姹犵粍鍛婅鏁扮洰锛�</span>'+data.code+'</div>'+ + '<div style="padding:6px 0; width:50%; float:left;"><span>钃勭數姹犵粍钀藉悗鏁扮洰锛�</span>'+data.sum+'</div>'+ + '<div style="clear:both"></div>'+ + '<div style="padding: 6px 4px">缁忓害锛�<span class="lng">'+data.data.longitude+'</span>锛岀含搴︼細<span class="lat">'+data.data.latitude+'</span></div>'+ + '<div style="padding:6px;"><span>鍦板潃锛�</span>'+data.data.Address+'</div>'+ + '<br>'+ + '<div class="t-align-right">'+ + '<a href="javascript:seenHomeInfo();" class="map-panel-seen-btn mrl8">鏌ョ湅</a>'+ + '<a href="javascript:editHomeInfo();" class="map-panel-seen-btn mrl8">淇敼</a>'+ + '<a href="javascript:showTempMap();" class="map-panel-seen-btn mrl8">閲嶆柊瀹氫綅</a>'+ + '<a href="javascript:delHomeInfo();" class="map-panel-seen-btn mrl8">鍒犻櫎</a>'+ + '</div>'+ + '<input type="hidden" class="ipt-hide lng" value="'+data.data.longitude+'">'+ + '<input type="hidden" class="ipt-hide lat" value="'+data.data.latitude+'">'+ + '<input type="hidden" class="ipt-hide addr" value="'+data.data.Address+'">'+ + '<input type="hidden" class="ipt-hide home" value="'+data.data.StationName+'">'+ + '<input type="hidden" class="ipt-hide province" value="'+data.data.stationName1+'">'+ + '<input type="hidden" class="ipt-hide county" value="'+data.data.stationName5+'">'+ + '<input type="hidden" class="ipt-hide sid" value="'+data.data.StationId+'">'+ + '<input type="hidden" class="ipt-hide city" value="'+data.data.stationName2+'">'; + + var list = { + title: data.data.StationName, + content: content + }; + + showMapPanelByPoint(point, list); + } + }, + complete: function() { + layer.close(load); + } + }); + } + + // 淇敼鏈烘埧淇℃伅闈㈡澘 + function editHomeInfo() { + var lng = $('.ipt-hide.lng').val(); // 鑾峰彇缁忓害 + var lat = $('.ipt-hide.lat').val(); // 鑾峰彇绾害 + var addr = $('.ipt-hide.addr').val(); // 鑾峰彇鍦板潃 + var homeId = $('.ipt-hide.sid').val(); // 鏈烘埧Id + var homeName = $('.ipt-hide.home').val(); // 鏈烘埧鍚嶇О + var temp = { + homeId: homeId + ,homeName: homeName + ,addr: addr + ,lng: lng + ,lat: lat + } + // 鏄剧ず鏆傛棤鍙绔欑偣 + if(homeId == 0) { + layer.msg(homeName); + return; + } + // 瀛樺偍鍊� + $('#homeInfoIframe').data('homeInfo', temp); + + iframePopup = layer.open({ + type: 2 + ,closeBtn: 0 + ,title: false + ,area: ['100%', '100%'] + ,full: true + ,anim: 4 + ,content: 'iframe/homeinfo.html' + }); + layer.full(iframePopup); + } + + // 鍒犻櫎鍦板浘鍥炬爣 + function delHomeInfo() { + layer.msg('鏆傛棤鏉冮檺鍒犻櫎锛�') + } + + // 鏄剧ず閲嶆柊瀹氫綅鏈烘埧闈㈡澘 + function showTempMap() { + var lng = $('.ipt-hide.lng').val(); // 鑾峰彇缁忓害 + var lat = $('.ipt-hide.lat').val(); // 鑾峰彇绾害 + var addr = $('.ipt-hide.addr').val(); // 鑾峰彇鍦板潃 + var homeId = $('.ipt-hide.sid').val(); // 鏈烘埧Id + var homeName = $('.ipt-hide.home').val(); // 鏈烘埧鍚嶇О + console.log(lng+"***"+lat); + var baiduPoint = GPS.wgs2bd(Number(lat), Number(lng)); // 灏嗗師濮嬪潗鏍囪浆鍖栦负鐧惧害鍧愭爣 + console.log(baiduPoint); + var temp = { + homeId: homeId + ,homeName: homeName + ,addr: addr + ,lng: lng + ,lat: lat + }; + tmpMap.clearOverlays(); + $('#tempMapContainer').addClass('temp-map-container-show'); // 鏄剧ず闈㈡澘 + + // 鍧愭爣闆嗗悎 + var points = []; + + // 鏃ф満鎴跨殑浣嶇疆 + var oldPoint = new BMap.Point(baiduPoint.lon, baiduPoint.lat); + points.push(oldPoint); + var oldLabel = new BMap.Label("鍘熷鏈烘埧浣嶇疆",{offset:new BMap.Size(20,-10)}); + var oldMk = new BMap.Marker(oldPoint); + oldMk.disableDragging(); // 璁剧疆涓嶅彲鎷栧姩 + tmpMap.addOverlay(oldMk); // 灏嗚鐩栫墿娣诲姞鍒板湴鍥句腑 + oldMk.setLabel(oldLabel); // 缁欒鐩栫墿娣诲姞label鎻愮ず + // tmpMap.panTo(oldPoint); // 瀹氫綅鍒颁綅缃� + + var load = layer.load(1); + geolocation.getCurrentPosition(function(r){ + layer.close(load); + if(this.getStatus() == BMAP_STATUS_SUCCESS){ + // 鏂版満鎴跨殑浣嶇疆 + points.push(r.point); + var mk = new BMap.Marker(r.point); + var label = new BMap.Label("鏂版満鎴夸綅缃�",{offset:new BMap.Size(20,-10)}); + mk.enableDragging(); // 璁剧疆鍙嫋鍔� + tmpMap.addOverlay(mk); // 灏嗚鐩栫墿娣诲姞鍒板湴鍥句腑 + mk.setLabel(label); // 缁欒鐩栫墿娣诲姞label鎻愮ず + + // 灏嗗潗鏍囧畾浣嶅埌鏈�鏂板潗鏍� + tmpMap.setViewport(points); // 灏嗗湴鍥剧Щ鍔ㄥ埌娣诲姞鐨勭偣浣嶇疆 + + // 缁檓aker鐐圭粦瀹氱偣鍑讳簨浠� + mk.addEventListener('click', function(e) { + var target = e.target; + console.log(target); + showChangeMkPanle(target, homeId, homeName, addr); + }); + + }else { + layer.msg('瀹氫綅澶辫触锛岃妫�鏌PS鎴栫綉缁滐紒'); + } + }); + } + + // 鏄剧ず淇敼闈㈡澘 + function showChangeMkPanle(target, id, name, addr) { + var searchInforWin = null; + var pt = target.point; + + var opts = { + title : '璁剧疆绔欑偣浣嶇疆', //鏍囬 + width : 290, //瀹藉害 + height : 150, //楂樺害 + panel : "panel", //妫�绱㈢粨鏋滈潰鏉� + enableAutoPan : true, //鑷姩骞崇Щ + searchTypes :[ + // BMAPLIB_TAB_SEARCH, //鍛ㄨ竟妫�绱� + // BMAPLIB_TAB_TO_HERE, //鍒拌繖閲屽幓 + // BMAPLIB_TAB_FROM_HERE //浠庤繖閲屽嚭鍙� + ] + }; + var content = '<div class="add-panel">'+ + '<div style="padding: 6px 4px"><span>鍦板潃锛�</span>'+ + '<span class="addr">'+addr+'</span></div>'+ + '<div style="padding: 6px 4px">缁忓害锛�<span class="lng">'+pt.lng+'</span>锛岀含搴︼細<span class="lat">'+pt.lat+'</span></div>'+ + '<div style="padding: 6px 4px"><span>璁剧疆绔欑偣鍚嶏細</span>'+'<span class="home-name">'+name+'</span></div>'+ + '<input type="hidden" class="home-id" value="'+id+'">'+ + '<div style="padding: 6px 4px; margin-top: 20px">'+ + '<a href="javascript:replaceHomePoint();" class="map-panel-btn">纭畾</a></div>' + +'</div>'; + + searchInforWin = new BMapLib.SearchInfoWindow(tmpMap, content, opts); + + searchInforWin.open(pt); + $('.BMapLib_sendToPhone').hide(); + } + + // 鏇挎崲鏈�鏂颁綅缃� + function replaceHomePoint() { + var addr = $('.add-panel .addr').text(); + var lng = $('.add-panel .lng').text(); + var lat = $('.add-panel .lat').text(); + var homeName = $('.add-panel .home-name').text(); + var homeId = $('.add-panel .home-id').val(); + var wgsPoint = GPS.bd2wgs(lat, lng); // 鐧惧害鍦板浘鍧愭爣杞寲涓篏PS + + layer.confirm('鏄惁纭畾閲嶆柊瀹氫綅', {icon:3, title: '鎻愮ず'}, function(index) { + layer.close(index); + var temp = { + StationId: homeId, //鏈烘埧缂栧彿 + StationName: homeName, //鏈烘埧鍚嶇О + Address: addr, //鏈烘埧鐗╃悊淇℃伅 + longitude: wgsPoint.lon, // 缁忓害 + latitude: wgsPoint.lat, // 绾害 + information:"", //澶囨敞 + }; + // 璇锋眰鍚庡彴 + var json = JSON.stringify(temp); + //console.info(json); + $.ajax({ + type: "post", + url: "BattMap_informationAction!replace", + async:true, + dataType:'text', + data:"json="+json, + success: function(data){ + data = eval('('+data+')'); + var model = eval('('+data.result+')'); + if(model.code == 1){ + alert("淇敼鎴愬姛"); + $('#tempMapContainer').removeClass('temp-map-container-show'); // 闅愯棌闈㈡澘 + addNewMapMark(homeName, lng, lat); + }else{ + alert("淇敼澶辫触"); + } + } + }); + + }); + + + } + + + // 鍒犻櫎map鐨勫浘鏍囩劧鍚庢坊鍔犱竴涓柊鐨勫浘鏍� + function addNewMapMark(name, lng, lat) { + delMkByLabel(name); // 鍒犻櫎mk鐐� + var pt = new BMap.Point(lng, lat); + var mk = new BMap.Marker(pt); // 瀹氫箟marker鐐� + // 鍚憁k鐐规坊鍔爈abel + var home_name = new BMap.Label(name, {offset:new BMap.Size(20,-10)}); + home_name.setStyle({display: 'none', padding: '4px 2px'}); // 璁剧疆涓嶅彲瑙� + mk.setLabel(home_name); // 璁剧疆label + + mk.addEventListener('click', function(e) { + var target = e.target; + //showMapPanel(target, dotList); + searchPanelInfo(target.point); + }); + map.addOverlay(mk); // 娣诲姞瑕嗙洊鐗� + + // 鏇存柊鍐呭 + updateAllStationData(name, lng, lat); + + locationByHomeName(map, name); + + } + + // 鍏抽棴閲嶆柊瀹氫綅鏈烘埧闈㈡澘 + $('#tempMapContainer .temp-map-container-close').click(function() { + $('#tempMapContainer').removeClass('temp-map-container-show'); // 鍏抽棴闈㈡澘 + }); + + // 鏌ョ湅鏈烘埧淇℃伅 + function seenHomeInfo() { + var lng = $('.ipt-hide.lng').val(); // 鑾峰彇缁忓害 + var lat = $('.ipt-hide.lat').val(); // 鑾峰彇绾害 + var addr = $('.ipt-hide.addr').val(); // 鑾峰彇鍦板潃 + var homeId = $('.ipt-hide.sid').val(); // 鏈烘埧Id + var homeName = $('.ipt-hide.home').val(); // 鏈烘埧鍚嶇О + var temp = { + homeId: homeId + ,homeName: homeName + ,addr: addr + ,lng: lng + ,lat: lat + } + // 鏄剧ず鏆傛棤鍙绔欑偣 + if(homeId == 0) { + layer.msg(homeName); + return; + } + // 瀛樺偍鍊� + $('#homeInfoIframe').data('homeInfo', temp); + + iframePopup = layer.open({ + type: 2 + ,closeBtn: 0 + ,title: false + ,area: ['100%', '100%'] + ,full: true + ,anim: 4 + ,content: 'iframe/seenhomeinfo.html' + }); + layer.full(iframePopup); + } + + // 鏄剧ず鍦板浘鎻愮ず闈㈡澘 + function showMapPanelByPoint(point, dataList) { + var searchInforWin = null; + var opts = { + title : dataList.title+'<a href="javascript:loadToHomeInfo();" style="margin-left: 1em;text-decoration:none;cursor:not-allowed">璇︽儏>></a>', //鏍囬鏈紑鍚� + width : '290', //瀹藉害 + height : 150, //楂樺害 + panel : "panel", //妫�绱㈢粨鏋滈潰鏉� + enableAutoPan : true, //鑷姩骞崇Щ + enableSendToPhone:false, + searchTypes :[ + // BMAPLIB_TAB_SEARCH, //鍛ㄨ竟妫�绱� + // BMAPLIB_TAB_TO_HERE, //鍒拌繖閲屽幓 + // BMAPLIB_TAB_FROM_HERE //浠庤繖閲屽嚭鍙� + ] + }; + + searchInforWin = new BMapLib.SearchInfoWindow(map, dataList.content, opts); + searchInforWin.open(point); + } + + // 鏍规嵁缁忕含搴﹁幏鍙栨満鎴跨殑淇℃伅 + function getStaionByPoint(point) { + var stationInfo = false; + // 閬嶅巻鎵�鏈夋満鎴� + for(var i=0; i<allStation.length; i++) { + var info = allStation[i]; + if(info.lng == point.lng && info.lat == point.lat) { + stationInfo = info; + } + } + return stationInfo; + } + + // 鏄剧ず鍖哄煙鍐呯殑鍥炬爣 + function queryInRect(map) { + var cp = map.getBounds(); // 杩斿洖map鍙鍖哄煙锛屼互鍦扮悊鍧愭爣琛ㄧず + var sw = cp.getSouthWest(); // 杩斿洖鐭╁舰鍖哄煙鐨勮タ鍗楄 + var ne = cp.getNorthEast(); // 杩斿洖鐭╁舰鍖哄煙鐨勪笢鍖楄 + var mkList = map.getOverlays(); + var zoom = map.getZoom(); //褰撳墠缂╂斁绾у埆 + showDotList(mkList, sw, ne, zoom); + } + + // 鑾峰彇dots鐨勯泦鍚� + function showDotList(mkList, sw, ne, zoom) { + var rs = []; + swlng=sw.lng, + swlat=sw.lat, + nelng=ne.lng, + nelat=ne.lat; + + var maxLng = sw.lng>ne.lng?sw.lng:ne.lng; + var minLng = sw.lng<ne.lng?sw.lng:ne.lng; + + var maxLat = sw.lat>ne.lat?sw.lat:ne.lat; + var minLat = sw.lat<ne.lat?sw.lat:ne.lat; + for(var i=0; i<mkList.length; i++) { + var mk = mkList[i]; + var point = mk.getPosition?mk.getPosition():null; + if(point) { + var lat = point.lat; + var lng = point.lng; + // 鍒ゆ柇褰撳墠鐨刴aker鐐规槸鍚︽樉绀� + if(lng<maxLng && lng>minLng && lat<maxLat && lat>minLat && zoom>10) { + // console.log(123) + mk.show(); + }else { + mk.hide(); + } + + } + } + return rs; + } + + // 鏍规嵁鍚庡彴鏁版嵁鏄剧ず鍦板浘鐨勪腑蹇冨潗鏍� + centerMapByPoint(map); + function centerMapByPoint(map) { + // 璇锋眰鍚庡彴鏍规嵁鏁版嵁鏇存敼鍦板浘涓績鍧愭爣 + $.ajax({ + type: "post", + url: "Positiomap_usrAction!serchByCondition", + async:true, + dataType:'text', + data:null, + success: function(rs){ + rs = eval('('+rs+')'); + var model = eval('('+rs.result+')'); + if(model.code == 1) { + var data = model.data[0]; + var _point = new BMap.Point(data.map_longitude,data.map_latitude); + map.centerAndZoom(_point, data.map_level); // 鐢ㄥ煄甯傚悕璁剧疆鍦板浘涓績鐐� + } + searchStation(); + } + }); + } + + + // 鏈烘埧瀹氫綅闈㈡澘 + $('#homeLocation').on('click', function() { + var homeInfo = $(this).data('homeInfo'); + locationByHomeName(map, homeInfo.home); + }); + + + // 鏍规嵁鏈烘埧鍚嶇О瀹氫綅鏈烘埧 + function locationByHomeName(map, name) { + var mkList = map.getOverlays(); + // console.log(mkList); + for(var i=0; i<mkList.length; i++) { + var mk = mkList[i]; + var _label = mk.getLabel?mk.getLabel()?mk.getLabel().content:'':''; + // 鍒ゆ柇鏈烘埧鍚嶇О + if(_label == name) { + var point = mk.getPosition(); + map.panTo(point); // 灏嗗湴鍥剧Щ鍔ㄥ埌娣诲姞鐨勭偣浣嶇疆 + map.setZoom(20); // 璁剧疆鍦板浘鐨勭缉鏀剧瓑绾� + searchPanelInfo(point); + } + + } + } //鎷︽埅瀹夊崜鍥為��鎸夐挳 history.pushState(null, null, location.href); @@ -308,6 +876,20 @@ history.pushState(null, null, location.href ); //姝ゅ鍔犲叆鍥為��鏃朵綘瑕佹墽琛岀殑浠g爜 }); + + // 鏇存柊鎵�鏈夋満鎴跨殑淇℃伅 + function updateAllStationData(name, lng, lat) { + console.log(allStation); + for(var i=0; i<allStation.length; i++) { + var _data = allStation[i]; + if(_data.title == name) { + _data.lng = lng; + _data.lat = lat; + } + } + } + + </script> </body> </html> \ No newline at end of file -- Gitblit v1.9.1