service.position_wev8.js
2.19 KB
define("mService/position_html",function(){return'<div class="page-content">\t<div class="map-container"></div>\t<div class="poi-container">\t\t<div class="mask" style="display: none;"><i class="loading"></i></div>\t\t<ul class="wev-table-view"></ul>\t</div></div>'}),define("mService/position",["mUtil","baidumap"],function(m){return{mounted:function(e,t){var v={posType:"1",poiRadius:500,numPois:12,limit:{enabled:!1,radius:1e3,tip:"当前位置超出限制范围",lng:"",lat:""},success:function(){}};if(m.isFunction(t))v.success=t;else{if(!m.isObject(t))return void m.getLabel(383777,"参数不合法",function(i){alert("mService/position "+i)});$.extend(v,t)}var o=$(".map-container",e),s=new BMap.Map(o[0]);function l(r){s.clearOverlays(),s.addOverlay(new BMap.Marker(r)),s.panTo(r);var t=$(".poi-container",e),c=t.children("ul"),p=t.children(".mask");c.find("*").remove(),p.show();var u=null;0<v.numPois&&(u={poiRadius:v.poiRadius,numPois:v.numPois}),m.getLabel(22981,"位置",function(d){(new BMap.Geocoder).getLocation(r,function(t){p.hide();var e=t.addressComponents,n=e.province,a=e.city,o=(n==a?n:n+a)+e.district+e.street+e.streetNumber,s=['<li class="wev-table-view-cell" data-lng="${point.lng}" data-lat="${point.lat}" data-addr="{@if title==\'['+d+"]'}${address}{@else}${title}{@/if}\">",'<a href="javascript:void(0);">',"<div>${title}</div>","<div>${address}</div>","</a>","</li>"].join("");if(c.append(m.parseTemplate(s,{point:r,title:"["+d+"]",address:o})),u){var l=t.surroundingPois;for(i=0;i<l.length;++i)c.append(m.parseTemplate(s,l[i]))}$("li",c).click(function(){var i=v.success;i&&i($(this).data("lng")+","+$(this).data("lat"),$(this).data("addr")),m.back()})},u)})}o.addClass("positioning"),Mobile_NS.getCurrentPosition(function(i){o.removeClass("positioning");var t=new BMap.Point(i.lng,i.lat);if(v.limit.enabled&&v.limit.lng&&v.limit.lat){var e=v.limit.lng,n=v.limit.lat,a=new BMap.Point(e,n);if(s.getDistance(a,t).toFixed(0)>v.limit.radius)return void Mobile_NS.alert(v.limit.tip,function(){m.back()})}s.centerAndZoom(t,16),s.addControl(new BMap.NavigationControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,type:BMAP_NAVIGATION_CONTROL_SMALL})),"3"==v.posType&&s.addEventListener("click",function(i){l(i.point)}),l(t)})}}});