129f6fb0 by 任超

feat:百度地图

1 parent 5c4e0c5b
1 $('.area_list li').click(function () { 1 $(function () {
2
3 var province = undefined
4 var city = undefined
5
6 $('.area_list li').click(function () {
2 $(".area_list li").removeClass("active1") 7 $(".area_list li").removeClass("active1")
3 $(this).addClass("active1"); 8 $(this).addClass("active1");
4 9
5 }) 10 })
6 11
7 $(".single_input").on("click", function () { 12 $(".single_input").on("click", function () {
8 var par_label = $(this).parent(); 13 var par_label = $(this).parent();
9 if (this.checked) { 14 if (this.checked) {
10 $(".input_label").removeClass("choose_radioed").addClass("choose_radio"); 15 $(".input_label").removeClass("choose_radioed").addClass("choose_radio");
11 par_label.removeClass("choose_radio").addClass("choose_radioed"); 16 par_label.removeClass("choose_radio").addClass("choose_radioed");
12 } else { 17 } else {
13 } 18 }
14 }); 19 });
15 20
16 layui.use('element', function () { 21 layui.use('element', function () {
17 let element = layui.element; //导航的hover效果、二级菜单等功能,需要依赖element模块 22 let element = layui.element; //导航的hover效果、二级菜单等功能,需要依赖element模块
18 //监听导航点击 23 //监听导航点击
19 element.on('nav(demo)', function (elem) { 24 element.on('nav(demo)', function (elem) {
20 //console.log(elem) 25 //console.log(elem)
21 layer.msg(elem.text()); 26 layer.msg(elem.text());
22 }); 27 });
23 }); 28 });
24 //config的设置是全局的 29 //config的设置是全局的
25 layui.config({ 30 layui.config({
26 base: './js/' 31 base: './js/'
27 }).extend({ //设定模块别名 32 }).extend({ //设定模块别名
28 common: 'common' 33 common: 'common'
29 }); 34 });
30 35
31 layui.use(['form', 'common'], function () { 36 layui.use(['form', 'common'], function () {
32 var common = layui.common, 37 var common = layui.common,
33 form = layui.form; 38 form = layui.form;
34 //三级地址联动 39 //三级地址联动
35 common.showCity('province', 'city'); 40 common.showCity('province', 'city');
36
37 //区域选择 41 //区域选择
38 form.on('select(selectCity)', function (data) { 42 form.on('select(selectCity)', function (data) {
39 console.log(data)
40 return false; 43 return false;
41 }); 44 });
42 //办事大厅
43 form.on('select(officehall)', function (data) {
44 let latitude = undefined
45 let longitude = undefined
46 let title = ''
47 if (data.value == 1) {
48 latitude = 116.397469
49 longitude = 39.908821
50 title = '北京'
51 } else if (data.value == 2) {
52 latitude = 121.491119
53 longitude = 31.235172
54 title = '上海'
55 } else {
56 latitude = 120.21201
57 longitude = 30.2084
58 title = '杭州'
59 }
60
61 var point = new BMapGL.Point(latitude, longitude);
62 var infoWindow = new BMapGL.InfoWindow(title, opts);
63 map.openInfoWindow(infoWindow, point);
64 return false;
65 }); 45 });
66 46 var map = new BMap.Map('container');
67 }); 47 var point = new BMap.Point(108.95346, 34.265725);
68 48 map.centerAndZoom(point, 14);
69 var geolocation = new BMap.Geolocation(); 49 var geolocation = new BMap.Geolocation();
70 var gc = new BMap.Geocoder(); 50 var gc = new BMap.Geocoder();
71 geolocation.getCurrentPosition(function (r) { 51 geolocation.getCurrentPosition(function (r) {
72 if (this.getStatus() == BMAP_STATUS_SUCCESS) { 52 if (this.getStatus() == BMAP_STATUS_SUCCESS) {
73 var pt = r.point; 53 var pt = r.point;
74 gc.getLocation(pt, function (rs) { 54 gc.getLocation(pt, function (rs) {
75 var addComp = rs.addressComponents; 55 var addComp = rs.addressComponents;
76 var province = addComp.province; 56 province = addComp.province;
77 var city = addComp.city; 57 city = addComp.city;
58 var cityName = province;
59 map.centerAndZoom(cityName, 14); // 初始化地图,设置中心点坐标和地图级别。 map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
60 map.addControl(new BMap.OverviewMapControl()); //添加缩略地图控件
61 map.enableScrollWheelZoom();
62 map.addControl(new BMap.NavigationControl({ type: BMAP_NAVIGATION_CONTROL_LARGE, anchor: BMAP_ANCHOR_TOP_LEFT, offset: new BMap.Size(40, 250) }));
63 var bdary = new BMap.Boundary();
64 bdary.get(cityName, function (rs) { //获取行政区域
65 var EN_JW = "180, 90;"; //东北角
66 var NW_JW = "-180, 90;"; //西北角
67 var WS_JW = "-180, -90;"; //西南角
68 var SE_JW = "180, -90;"; //东南角
69 //4.添加环形遮罩层
70 var ply1 = new BMap.Polygon(rs.boundaries[0] + SE_JW + SE_JW + WS_JW + NW_JW + EN_JW + SE_JW, { strokeColor: "none", fillColor: "rgb(246,246,246)", fillOpacity: 1, strokeOpacity: 0.5 }); //建立多边形覆盖物
71 map.addOverlay(ply1);
72 //5. 给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层
73 var ply = new BMap.Polygon(rs.boundaries[0], { strokeWeight: 2, strokeColor: "#0091FF", fillColor: "" });
74 map.addOverlay(ply);
75 //map.setViewport(ply.getPath()); //调整视野
76 });
78 $('.Pselected').attr('data-area', province) 77 $('.Pselected').attr('data-area', province)
79 $('.Cselected').attr('data-area', city) 78 $('.Cselected').attr('data-area', city)
80 layui.use(['form', 'common'], function () { 79 layui.use(['form', 'common'], function () {
...@@ -88,41 +87,28 @@ geolocation.getCurrentPosition(function (r) { ...@@ -88,41 +87,28 @@ geolocation.getCurrentPosition(function (r) {
88 else { 87 else {
89 alert("定位失败"); 88 alert("定位失败");
90 } 89 }
91 }, { enableHighAccuracy: true }); 90 }, { enableHighAccuracy: true });
92
93
94 var map = new BMap.Map('container');
95 var point = new BMap.Point(108.95309828, 34.2777999);
96 map.centerAndZoom(point, 20);
97
98
99 var cityName = '陕西省';
100 map.centerAndZoom(cityName, 15); // 初始化地图,设置中心点坐标和地图级别。 map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
101 map.addControl(new BMap.OverviewMapControl()); //添加缩略地图控件
102 map.enableScrollWheelZoom();
103 map.addControl(new BMap.NavigationControl({ type: BMAP_NAVIGATION_CONTROL_LARGE, anchor: BMAP_ANCHOR_TOP_LEFT, offset: new BMap.Size(40, 250) }));
104 var bdary = new BMap.Boundary();
105 bdary.get(cityName, function (rs) { //获取行政区域
106 var EN_JW = "180, 90;"; //东北角
107 var NW_JW = "-180, 90;"; //西北角
108 var WS_JW = "-180, -90;"; //西南角
109 var SE_JW = "180, -90;"; //东南角
110 //4.添加环形遮罩层
111 var ply1 = new BMap.Polygon(rs.boundaries[0] + SE_JW + SE_JW + WS_JW + NW_JW + EN_JW + SE_JW, { strokeColor: "none", fillColor: "rgb(246,246,246)", fillOpacity: 1, strokeOpacity: 0.5 }); //建立多边形覆盖物
112 91
113 map.addOverlay(ply1); 92 // 办事大厅标记
114 //5. 给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层 93 var marker = new BMap.Marker(new BMap.Point(108.95346, 34.265725));
115 var ply = new BMap.Polygon(rs.boundaries[0], { strokeWeight: 2, strokeColor: "#00f", fillColor: "" }); 94 var marker1 = new BMap.Marker(new BMap.Point(108.953381,34.256923));
116 map.addOverlay(ply); 95 // 在地图上添加点标记
117 //map.setViewport(ply.getPath()); //调整视野 96 map.addOverlay(marker);
118 }); 97 map.addOverlay(marker1);
119 98 // 创建信息窗口
120 var opts = { 99 var opts = {
121 width: 100, 100 width: 200,
122 height: 60, 101 height: 100,
123 title: '办事大厅' 102 title: '办事大厅'
124 };
125 var infoWindow = new BMap.InfoWindow('雁塔区南二环西段', opts);
126 map.openInfoWindow(infoWindow, point);
127 map.centerAndZoom(new BMap.Point(108.95309828, 34.2777999), 15); // 初始化地图,设置中心点坐标和地图级别
128 map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放
...\ No newline at end of file ...\ No newline at end of file
103 };
104 var infoWindow = new BMap.InfoWindow('西安市大唐不夜城', opts);
105 var infoWindow1 = new BMap.InfoWindow('南门', opts);
106 // 点标记添加点击事件
107 marker.addEventListener('click', function () {
108 map.openInfoWindow(infoWindow, point); // 开启信息窗口
109 });
110 marker1.addEventListener('click', function () {
111 map.openInfoWindow(infoWindow1, point); // 开启信息窗口
112 });
113
114 })
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
13 <link rel='icon' href='favicon.ico' type='image/x-ico' /> 13 <link rel='icon' href='favicon.ico' type='image/x-ico' />
14 <meta name="description" content="" /> 14 <meta name="description" content="" />
15 <meta name="keywords" content="" /> 15 <meta name="keywords" content="" />
16 <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=0NWXXsCSawnWID4UYI7Uhrl9WgtI2IGs"></script> 16 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=0NWXXsCSawnWID4UYI7Uhrl9WgtI2IGs"></script>
17 <link rel="stylesheet" type="text/css" href="../../staticLib/layui/css/layui.css" /> 17 <link rel="stylesheet" type="text/css" href="../../staticLib/layui/css/layui.css" />
18 <link rel="stylesheet" type="text/css" href="../../staticCss/common.css" /> 18 <link rel="stylesheet" type="text/css" href="../../staticCss/common.css" />
19 <link rel="stylesheet" type="text/css" href="./css/index.css"> 19 <link rel="stylesheet" type="text/css" href="./css/index.css">
...@@ -131,19 +131,6 @@ ...@@ -131,19 +131,6 @@
131 </ul> 131 </ul>
132 </div> 132 </div>
133 </div> 133 </div>
134 <div class="select_officehall">
135 <form class="layui-form">
136 <h2>办事大厅</h2>
137 <div class="layui-inline">
138 <select name="officehall" lay-filter="officehall">
139 <option value="">选择办事大厅</option>
140 <option value="1">北京</option>
141 <option value="2">上海</option>
142 <option value="3">杭州</option>
143 </select>
144 </div>
145 </form>
146 </div>
147 <!-- ----------------------------------地图api--------------------------------------------------- --> 134 <!-- ----------------------------------地图api--------------------------------------------------- -->
148 <div class="map_content contentBox"> 135 <div class="map_content contentBox">
149 <div id="container" style="width: 100%;height: 500px;"></div> 136 <div id="container" style="width: 100%;height: 500px;"></div>
......