百度地图API显示多个标注点并添加百度样式检索窗口

百度地图API显示多个标注点并添加百度样式检索窗口

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
    <title>百度地图API显示多个标注点带百度样式信息检索窗口的代码</title>
    <!– 原作博客地址:http://blog.csdn.net/a497785609/article/details/24009031 –>
    <!–css–>
    <link href=”style/demo.css” rel=”stylesheet” type=”text/css” />
    <!–javascript–>
    <script src=”scripts/jquery-1.9.1.js” type=”text/javascript”></script>
    <script src=”scripts/demo.js” type=”text/javascript”></script>
<script type=”text/javascript” src=”http://api.map.baidu.com/api?v=2.0&ak=IDvNBsejl9oqMbPF316iKsXR”></script>
<script type=”text/javascript” src=”http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js”></script>
<link rel=”stylesheet” href=”http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css” />    
</head>
<body>
    <div class=”demo_main”>
        <fieldset class=”demo_title”>
            百度地图API显示多个标注点带提示的代码
        </fieldset>
        <fieldset class=”demo_content”>
            <div style=”min-height: 300px; width: 100%;” id=”map”>
            </div>
            <script type=”text/javascript”>
                var markerArr = [
                    { title: “名称:广州火车站”, point: “113.264531,23.157003”, address: “广东省广州市广州火车站”, tel: “12306” },
                    { title: “名称:广州塔(赤岗塔)”, point: “113.330934,23.113401”, address: “广东省广州市广州塔(赤岗塔) “, tel: “18500000000” },
                    { title: “名称:广州动物园”, point: “113.312213,23.147267”, address: “广东省广州市广州动物园”, tel: “18500000000” },
                    { title: “名称:天河公园”, point: “113.372867,23.134274”, address: “广东省广州市天河公园”, tel: “18500000000” }
                ];
                function map_init() {

                    var map = new BMap.Map(“map”); // 创建Map实例
                    var point = new BMap.Point(113.312213, 23.147267); //地图中心点,广州市
                    map.centerAndZoom(point, 13); // 初始化地图,设置中心点坐标和地图级别。
                    map.enableScrollWheelZoom(true); //启用滚轮放大缩小
                    //地图、卫星、混合模式切换
                    map.addControl(new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]}));
                    //向地图中添加缩放控件
                    var ctrlNav = new window.BMap.NavigationControl({

                        anchor: BMAP_ANCHOR_TOP_LEFT,
                        type: BMAP_NAVIGATION_CONTROL_LARGE
                    });
                    map.addControl(ctrlNav);
                    //向地图中添加缩略图控件
                    var ctrlOve = new window.BMap.OverviewMapControl({

                        anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
                        isOpen: 1
                    });
                    map.addControl(ctrlOve);
                    //向地图中添加比例尺控件
                    var ctrlSca = new window.BMap.ScaleControl({

                        anchor: BMAP_ANCHOR_BOTTOM_LEFT
                    });
                    map.addControl(ctrlSca);
 
                    var point = new Array(); //存放标注点经纬信息的数组
                    var marker = new Array(); //存放标注点对象的数组
                    var info = new Array(); //存放提示信息窗口对象的数组
                    var searchInfoWindow =new Array();//存放检索信息窗口对象的数组
                    for (var i = 0; i < markerArr.length; i++) {

                        var p0 = markerArr[i].point.split(“,”)[0]; //
                        var p1 = markerArr[i].point.split(“,”)[1]; //按照原数组的point格式将地图点坐标的经纬度分别提出来
                        point[i] = new window.BMap.Point(p0, p1); //循环生成新的地图点
                        marker[i] = new window.BMap.Marker(point[i]); //按照地图点坐标生成标记
                        map.addOverlay(marker[i]);
                        marker[i].setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
              //显示marker的title,marker多的话可以注释掉
                        var label = new window.BMap.Label(markerArr[i].title, { offset: new window.BMap.Size(20, -10) });
                        marker[i].setLabel(label);
                        // 创建信息窗口对象
                        info[i] = “<p style=’font-size:12px;lineheight:1.8em;’>” + “</br>地址:” + markerArr[i].address + “</br> 电话:” + markerArr[i].tel + “</br></p>”;
                        //创建百度样式检索信息窗口对象                       
                        searchInfoWindow[i] = new BMapLib.SearchInfoWindow(map, info[i], {

                                title  : markerArr[i].title,      //标题
                                width  : 290,             //宽度
                                height : 55,              //高度
                                panel  : “panel”,         //检索结果面板
                                enableAutoPan : true,     //自动平移
                                searchTypes   :[
                                    BMAPLIB_TAB_SEARCH,   //周边检索
                                    BMAPLIB_TAB_TO_HERE,  //到这里去
                                    BMAPLIB_TAB_FROM_HERE //从这里出发
                                ]
                            });
                        //添加点击事件
                        marker[i].addEventListener(“click”,
                            (function(k){

                                // js 闭包
                                return function(){

                                    //将被点击marker置为中心
                                    //map.centerAndZoom(point[k], 18);
                                    //在marker上打开检索信息窗口
                                    searchInfoWindow[k].open(marker[k]);
                                }
                            })(i)                            
                        );
                    }                  
                }
                //异步调用百度js
                function map_load() {

                    var load = document.createElement(“script”);
                    load.src = “http://api.map.baidu.com/api?v=2.0&ak=IDvNBsejl9oqMbPF316iKsXR&callback=map_init”;
                    document.body.appendChild(load);
                }
                window.onload = map_load;
            </script>
        </fieldset>
    </div>
</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113842.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月10日 下午2:00
下一篇 2021年10月10日 下午2:00


相关推荐

  • 比较全的机油教程(android)「建议收藏」

    比较全的机油教程(android)「建议收藏」“G”“E”“H”“T”信号完美解释移动用户:  手机的网络图标有这三种:“G,E,H  G:全称:gprs既传输速率理论的峰值为114Kbps,这是早其的无线网络传输方式。  E:全称:EDGE既传输速率在峰值可以达到384kbps,现在比较主流的无线网络传输方式。  T:全称:TD-SCDMA技术目前处于起步阶段,现在版本分为R4/R5/R6/R7。R7的理论值可以达到

    2022年10月19日
    9
  • lcd1602c语言程序分析,LCD1602 C程序

    lcd1602c语言程序分析,LCD1602 C程序LCD1602C程序来源:--作者:--浏览:244时间:2016-08-1014:18标签:摘要:LCD基本显示程序四条数据线输入:DB4—RB0,DB5—RB1,DB6—RB2,DB7—RB3寄存器选择RS接RB4,为”L”指令寄存器,为”H”数据寄存器读写使能控制线E,接RE2,每当E线向LCD模块发送一个正脉冲,LCD模块与单片机之间将进行一次数据交换;//********…

    2022年7月16日
    19
  • python远程调试_pycharm远程调试linux服务器python项目

    python远程调试_pycharm远程调试linux服务器python项目python 开发的一个重要事项是包管理 想想那么多负责的包 如果没有好的包管理系统 在本机搭建一个包环境是多么复杂 于是放弃了本地构建包的想法 使用远程包 也就是使用项目部署已经搭建完好的生产环境 在本地通过调用远程生产系统进行项目代码调试 pycharm 作为一款强大的 IDE 很好的实现了这个功能 在 pycharm 中 可以使用 ssh 来配置 linux 系统中的环境作为项目环境 也可以同步项目代码 一

    2025年10月9日
    7
  • 报错415怎么解决_服务器请求415

    报错415怎么解决_服务器请求415415错误

    2025年6月19日
    4
  • 各种国内地图坐标系总结

    各种国内地图坐标系总结一 国内的常用坐标系 1 WGS 84 坐标系 地心坐标系 GPS 原始坐标体系在中国 任何一个地图产品都不允许使用 GPS 坐标 据说是为了保密 2 GCJ 02 坐标系 国测局坐标 火星坐标系 1 国测局 02 年发布的坐标体系 它是一种对经纬度数据的加密算法 即加入随机的偏差 2 互联网地图在国内必须至少使用 GCJ 02 进行首次加密 不允许直接使用 WGS 84 坐标下的地理数据 同时任何坐

    2026年3月20日
    3
  • 经典卷积神经网络——VGG16

    经典卷积神经网络——VGG16VGG16 前言一 VGG 发展历程二 VGG 网络模型三 VGG16 代码详解 1 VGG 网络架构 2 VGG16 网络验证 2 读取数据 进行数据增强 3 训练模型 测试准确率四 VGG 缺点前言我们都知道 Alexnet 是卷积神经网络的开山之作 但是由于卷积核太大 移动步长大 无填充 所以 14 年提出的 VGG 网络解决了这一问题一 VGG 发展历程 VGG 网络由牛津大学在 2014 年 ImageNet 挑战赛本地和分类追踪分别获得了第一名和第二名 研究卷积网络深度对其影响在大规模图像识别设置中的准确性 主要贡献是全面评估网络

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号