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


     

    功能一里面有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="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="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=" 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>
  • 相关阅读:
    12款有助于简化CSS3开发的工具
    log4net简介
    javascript面向对象重写右键菜单事件
    Winform 通用分页控件实战篇(提供源码下载)
    新浪微博信息站外同步的完整实现
    2003 IIS 发布WEB攻略
    FCKeditor.NET的配置、扩展与安全性经验交流
    js获取本地文件夹和文件 .
    前端必读:浏览器内部工作原理
    程序员第二定律:量化管理在程序员身上永无可能
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317770.html
Copyright © 2020-2023  润新知