百度地图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>  

    </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); //启用滚轮放大缩小
                        //向地图中添加缩放控件
                        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(); //存放提示信息窗口对象的数组
                        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); //跳动的动画
                            var label = new window.BMap.Label(markerArr[i].title, { offset: new window.BMap.Size(20, -10) });
                            marker[i].setLabel(label);
                            info[i] = new window.BMap.InfoWindow("<p style=’font-size:12px;lineheight:1.8em;’>" + markerArr[i].title + "</br>地址:" + markerArr[i].address + "</br> 电话:" + markerArr[i].tel + "</br></p>"); // 创建信息窗口对象
                        }
                        marker[0].addEventListener("mouseover", function () {
                            this.openInfoWindow(info[0]);
                        });
                        marker[1].addEventListener("mouseover", function () {
                            this.openInfoWindow(info[1]);
                        });
                        marker[2].addEventListener("mouseover", function () {
                            this.openInfoWindow(info[2]);
                        });
                    }
                    //异步调用百度js
                    function map_load() {
                        var load = document.createElement("script");
                        load.src = "http://api.map.baidu.com/api?v=1.4&callback=map_init";
                        document.body.appendChild(load);
                    }
                    window.onload = map_load;
                </script>
            </fieldset>
        </div>
    </body>
    </html>  
时间: 2024-10-23 16:38:47

百度地图API显示多个标注点带提示的代码的相关文章

百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法

原文:百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法 公司的网站改版要求在一个页面显示百度地图.上面要同时显示很多标注点,标注点当然要有提示信息嘛,提示信息也当然要不一样嘛,因为给标注绑定的鼠标事件当你移动鼠标上去的其实循环值已经是最后值了,所以无论你怎么做,所有的标注点都是同一个提示,就是最后的那个提示.我就打开百度找方案嘛.一找之下,搜了几十页就一个解决方案,大家都是你拷贝我的我拷贝你的.做个闭包.把循环的值锁定在里面.代码照着做,也的确可以

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

<%@ page language="java" pageEncoding="UTF-8"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

百度地图API一:根据标注点坐标范围计算显示缩放级别zoom自适应显示地图

百度地图中根据页面中的point,自动设置缩放级别和视图中心,将所有的point在视图范围内展示. var points = [point1, point2,point3]; var view = map.getViewport(eval(points)); var mapZoom = view.zoom; var centerPoint = view.center; map.centerAndZoom(centerPoint,mapZoom);

通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)

1.下载百度地图的demo,下载地址:http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar 2.把demo里面的BaiduMapsApiDemo解压,把BaiduMapsApiDemo文件夹里面的libs里面的所有文件都复制到自己的项目的libs里面 3.配置Andro

百度地图API的第一次接触——标注和信息窗的使用

1.定义js函数,用于在指定位置添加标注,在标注位置添加并打开信息窗口 function addMarker(point, index){ // 创建图标对象 var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), { offset: new BMap.Size(10, 25), // 指定定位位置 imageOffset: new BMap.Size(0

百度地图Api进阶教程-创建标注和自定义标注3.html

<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>1

百度地图api,点击标注,改变标注marker图标的链接地址

改变选中的图标样式 1 // 选中高亮标注图片 2 let mapIcon = ‘./icon.png’; 3 4 //标注点 5 let markerArrs = [{},{},....]; 6 7 8 // 点击标注点 9 marker.addEventListener("click", (evt) => { 10 for (let j = 0; j < markerArrs.length; j++) { 11 const element = markerArrs[j]

HTML5地理定位,百度地图API,知识点熟悉

判断浏览器的兼容问题: IE9+支持地理定位,FF Chrome新版支持地理定位  if (navigator.geolocation) { alert('支持地理定位'); } else { alert('不支持地理定位'); } 获取自己位置经纬度 <script> var x=document.getElementById("wrap"); function getLocation () { if (navigator.geolocation) { navigator

在混合app开发过程中使用百度地图api的出现坐标偏差的解决

在项目中使用ngCordova的$cordovaGeolocation模块获取当前位置经纬度,当展示在百度地图中时发现有误差(我的测试误差为1.7公里左右),查资料发现百度地图经纬度与普通Gps获取的经纬度并不一样,解决办法参考百度开放地图论坛官方贴(http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=121352&extra=page%3D1). 我用的是官方给的第二种方式,代码参考如下: ionic框架,引入<scri