您的位置:首页 > 其它

百度地图api根据地图缩放等级显示不同的marker点

2017-04-06 15:46 501 查看
 功能一里面有marker点后台的代码根据地图的缩放等级显示不同marker点的坐标JSP代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
2     pageEncoding="UTF-8"%>
3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
5 <html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
7 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9 <title>地图</title>
10
11 <link href="css/style.css" rel="stylesheet" type="text/css" />
12 <script type="text/javascript" src="js/jquery.js"></script>
13
14 <style type="text/css">
15 html {
16     height: 100%
17 }
18
19 body {
20     height: 100%;
21     margin: 0px;
22     padding: 0px
23 }
24
25 #container {
26     height: 90%
27 }
28 </style>
29 <script type="text/javascript"
30     src="http://api.map.baidu.com/api?v=2.0&ak=BSKHkddrAesvEXNXQFHaZEW0Ws5NoiDP">
31 </script>
32 <script type="text/javascript">
33     var markers = [];
34     $(document).ready(function() {
35         initMap();//显示地图
36         setInterval("frash()", 3000); //定时器,每3秒调用frash()
37     });
38     function getdata() {
39         $.ajax({
40             url : "dituList.do",
41             type : "post",
42             success : function(data) {
43                 $.each(data, function(i, d) {
44                     markers[i] = {
45                         content : "我的备注",
46                         title : d.title,
47                         imageOffset : {
48                             width : -46,
49                             height : -21
50                         },
51                         position : {
52                             lat : d.jd,
53                             lng : d.wd
54                         }
55                     };
56                 });
57             }
58
59         });
60     }
61 </script>
62 </head>
63 <body>
64     <!-- <form action="dituSave.do" method="post">
65 <div class="form-group">
66 <label>经度</label>
67 <input name="jd" type="text" id="jd" placeholder="请输入经度" class="form-control" style="width:40%">
68 </div>
69
70 <div class="form-group">
71 <label>纬度</label>
72 <input name="wd" type="text" id="wd" placeholder="请输入纬度" class="form-control" style="width:40%">
73 </div>
74
75 <div>
76 <button class="btn btn-sm btn-primary pull-right m-t-n-xs" type="submit" style="margin-right:60%"><strong>定位</strong>
77 </button></div>
78
79 </form>
80  -->
81     <!--百度地图容器-->
82     <div
83         style="width: 100%; height: 100%; border: #ccc solid 1px; font-size: 12px"
84         id="map"></div>
85 </body>
86 <script type="text/javascript">
87     //创建和初始化地图函数:
88     function initMap() {
89         //alert("111"+markers[1].position.lat);
90         createMap();//创建地图
91         setMapEvent();//设置地图事件
92         addMapControl();//向地图添加控件
93         addMapOverlay();//向地图添加覆盖物
94     }
95     function createMap() {
96         map = new BMap.Map("map"); //建树Map实例
97         map.centerAndZoom(new BMap.Point(118.059014, 36.812474), 13);// 建树点坐标,初始化地图,设置中心点坐标和地图级别。
98
99     }
100     function setMapEvent() {
101         map.enableScrollWheelZoom();//启用地图滚轮放大缩小
102         map.enableKeyboard();//启用键盘上下左右键移动地图
103         map.enableDragging(); //启用地图拖拽事件,默认启用(可不写)
104         map.enableDoubleClickZoom()//启用鼠标双击放大,默认启用(可不写)
105     }
106     function addClickHandler(target, window) {
107         target.addEventListener("click", function() {
108             target.openInfoWindow(window);
109         });
110     }
111     function frash() {
112
113         map.clearOverlays();//清空地图上标注点
114         getdata(); //获得marker点的数组
115         addMapOverlay(); //将marker点的信息显示在地图上
116         markers.splice(0, markers.length);//清空数组
117     }
118     //设置点Icon
119     function addMapOverlay() {
120         var u = map.getZoom(); // 定义地图缩放等级的变量
121         if (u >= 13) {   // 如果缩放等级大于等于13
122             //把marker点的信息显示在地图上
123             for (var index = 0; index < markers.length; index++) {
124                 var point = new BMap.Point(markers[index].position.lng,
125                         markers[index].position.lat);
126                 var marker = new BMap.Marker(
127                         point,
128                         {
129                             icon : new BMap.Icon(
130                                     "http://api.map.baidu.com/lbsapi/createmap/images/icon.png",
131                                     new BMap.Size(20, 25),
132                                     {
133                                         imageOffset : new BMap.Size(
134                                                 markers[index].imageOffset.width,
135                                                 markers[index].imageOffset.height)
136                                     })
137                         });
138                 var label = new BMap.Label(markers[index].title, {
139                     offset : new BMap.Size(25, 5)
140                 }); //a
141                 var opts = { //a
142                     width : 200, //a
143                     title : markers[index].title, //a
144                     enableMessage : false
145                 //a
146                 }; //a
147                 var infoWindow = new BMap.InfoWindow(markers[index].content,
148                         opts); //a
149                 marker.setLabel(label);//显示地理名称 a
150                 // marker.setLabel();//不显示地理名称 a
151                 addClickHandler(marker, infoWindow); //a
152                 map.addOverlay(marker);
153             }
154         //地图缩放等级小于13不显示marker点
155         else{
156
157         }
158         }
159     }
160     //向地图添加控件
161     function addMapControl() {
162         var scaleControl = new BMap.ScaleControl({
163             anchor : BMAP_ANCHOR_BOTTOM_LEFT
164         });
165         scaleControl.setUnit(BMAP_UNIT_IMPERIAL);
166         map.addControl(scaleControl);
167         var navControl = new BMap.NavigationControl({
168             anchor : BMAP_ANCHOR_TOP_LEFT,
169             type : BMAP_NAVIGATION_CONTROL_LARGE
170         });
171         map.addControl(navControl);
172         var overviewControl = new BMap.OverviewMapControl({
173             anchor : BMAP_ANCHOR_BOTTOM_RIGHT,
174             isOpen : true
175         });
176         map.addControl(overviewControl);
177     }
178     var map;
179     //  initMap();
180 </script>
181 </html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐