问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用百度地图,怎样实现循环显示出所有的点

发布网友 发布时间:2022-04-24 23:56

我来回答

9个回答

热心网友 时间:2022-04-23 09:43

需要代码插入,试一下!

[html] view plaincopyprint?
<!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>
<!--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>
</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>

热心网友 时间:2022-04-23 11:01

01.var map = new BMap.Map("Mapcontainer");
02. var JsonObj = eval(JsonStr);
03. if (JsonObj != null) {
04. for (var i = 0; i < JsonObj.length; i++) {
05. (function (x) {
06. var point = new BMap.Point(JsonObj[x].Visit_GPS_Longitude, JsonObj[x].Visit_GPS_Latitude); // 创建点坐标
07. map.centerAndZoom(point, 13);
08. var marker = new BMap.Marker(point);
09. var opts = {
10. width: 250, // 信息窗口宽度
11. height: 100, // 信息窗口高度
12. title: '<span style="font-size:15px;color:#0A8021">' + JsonObj[x].CustomerName + '</span>' // 信息窗口标题
13. }
14. //marker.setAnimation(BMAP_ANIMATION_BOUNCE);
15. var content = "进店时间 " + JsonObj[x].VisitBeginTime + "<br/>离店时间 " + JsonObj[x].VisitEndTime;
16. var info_Window = new BMap.InfoWindow(content, opts); // 创建信息窗口对象
17. marker.addEventListener("click", function () {
18. this.openInfoWindow(info_Window);
19. });
20. map.addOverlay(marker);
21. })(i);
22. }
23. map.addControl(new BMap.NavigationControl());
var map = new BMap.Map("Mapcontainer");
var JsonObj = eval(JsonStr);
if (JsonObj != null) {
for (var i = 0; i < JsonObj.length; i++) {
(function (x) {
var point = new BMap.Point(JsonObj[x].Visit_GPS_Longitude, JsonObj[x].Visit_GPS_Latitude); // 创建点坐标
map.centerAndZoom(point, 13);
var marker = new BMap.Marker(point);
var opts = {
width: 250, // 信息窗口宽度
height: 100, // 信息窗口高度
title: '<span style="font-size:15px;color:#0A8021">' + JsonObj[x].CustomerName + '</span>' // 信息窗口标题
}
//marker.setAnimation(BMAP_ANIMATION_BOUNCE);
var content = "进店时间 " + JsonObj[x].VisitBeginTime + "<br/>离店时间 " + JsonObj[x].VisitEndTime;
var info_Window = new BMap.InfoWindow(content, opts); // 创建信息窗口对象
marker.addEventListener("click", function () {
this.openInfoWindow(info_Window);
});
map.addOverlay(marker);
})(i);
}
map.addControl(new BMap.NavigationControl()); 同样是一个循环,但是在循环中使用了一个匿名函数,从而造成一个闭包将 i 的值锁定在里面,这样外部的值已经变化,

但是传到闭包里面的值已经被保留,也就可以顺利拿到应该取到的address[i]的内容了。
这样虽然解决了问题,但是每添加一个点都会创建一个匿名函数,内存泄漏可能会是潜在隐患。
接下去, 我们就可以自由的在地图上标注点并显示对应的信息了!

热心网友 时间:2022-04-23 12:36

01.var map = new BMap.Map("Mapcontainer");
02. var JsonObj = eval(JsonStr);
03. if (JsonObj != null) {
04. for (var i = 0; i < JsonObj.length; i++) {
05. (function (x) {
06. var point = new BMap.Point(JsonObj[x].Visit_GPS_Longitude, JsonObj[x].Visit_GPS_Latitude); // 创建点坐标
07. map.centerAndZoom(point, 13);
08. var marker = new BMap.Marker(point);
09. var opts = {
10. width: 250, // 信息窗口宽度
11. height: 100, // 信息窗口高度
12. title: '<span style="font-size:15px;color:#0A8021">' + JsonObj[x].CustomerName + '</span>' // 信息窗口标题
13. }
14. //marker.setAnimation(BMAP_ANIMATION_BOUNCE);
15. var content = "进店时间 " + JsonObj[x].VisitBeginTime + "<br/>离店时间 " + JsonObj[x].VisitEndTime;
16. var info_Window = new BMap.InfoWindow(content, opts); // 创建信息窗口对象
17. marker.addEventListener("click", function () {
18. this.openInfoWindow(info_Window);
19. });
20. map.addOverlay(marker);
21. })(i);
22. }
23. map.addControl(new BMap.NavigationControl());
var map = new BMap.Map("Mapcontainer");
var JsonObj = eval(JsonStr);
if (JsonObj != null) {
for (var i = 0; i < JsonObj.length; i++) {
(function (x) {
var point = new BMap.Point(JsonObj[x].Visit_GPS_Longitude, JsonObj[x].Visit_GPS_Latitude); // 创建点坐标
map.centerAndZoom(point, 13);
var marker = new BMap.Marker(point);
var opts = {
width: 250, // 信息窗口宽度
height: 100, // 信息窗口高度
title: '<span style="font-size:15px;color:#0A8021">' + JsonObj[x].CustomerName + '</span>' // 信息窗口标题
}
//marker.setAnimation(BMAP_ANIMATION_BOUNCE);
var content = "进店时间 " + JsonObj[x].VisitBeginTime + "<br/>离店时间 " + JsonObj[x].VisitEndTime;
var info_Window = new BMap.InfoWindow(content, opts); // 创建信息窗口对象
marker.addEventListener("click", function () {
this.openInfoWindow(info_Window);
});
map.addOverlay(marker);
})(i);
}
map.addControl(new BMap.NavigationControl()); 同样是一个循环,但是在循环中使用了一个匿名函数,从而造成一个闭包将 i 的值锁定在里面,这样外部的值已经变化.
这样虽然解决了问题,但是每添加一个点都会创建一个匿名函数,内存泄漏可能会是潜在隐患。
接下去, 就可以自由的在地图上标注点并显示对应的信息了.

热心网友 时间:2022-04-23 14:27

这是百度加载多个点的代码

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
        #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}
        #r-result{height:100%;width:20%;float:left;}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
    <title>添加多个标注点</title>
</head>
<body>
    <div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("allmap");
    var point = new BMap.Point(116.404, 39.915);
    map.centerAndZoom(point, 15);
    // 编写自定义函数,创建标注
    function addMarker(point){
      var marker = new BMap.Marker(point);
      map.addOverlay(marker);
    }
    // 随机向地图添加25个标注
    var bounds = map.getBounds();
    var sw = bounds.getSouthWest();
    var ne = bounds.getNorthEast();
    var lngSpan = Math.abs(sw.lng - ne.lng);
    var latSpan = Math.abs(ne.lat - sw.lat);
    for (var i = 0; i < 25; i ++) {
        var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
        addMarker(point);
    }
</script>


热心网友 时间:2022-04-23 16:35

没有那个功能的,途经点也只能设置一个。

热心网友 时间:2022-04-23 19:00

有个标记功能,试试看

热心网友 时间:2022-04-23 21:41

想知道你要表达的是什么意思

热心网友 时间:2022-04-24 00:39

下载后就可以了

热心网友 时间:2022-04-24 03:54

百度一下百度一下百度一下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
平安e家保是什么险 2023年高级会计师报名时间和条件 2022高级会计师报考条件要求是什么? 问几个英文语法问题,希望能正确回答~ 女生锁骨下长痣,左右都有 不是很对称 寓意什么呐? 抖音上传照片音乐短怎么办 断夜奶好方法 婴儿断夜奶最佳方法 建设银行,你打算坑害多少优质客户? 【PS教程】如何做出凹陷字体效果的氛围海报 你好,电子印章U盘弄掉了怎么办? 迁入惠州户口条件 我们单位自己使用的一款电子印章驱动程序老是被拦截!! 电子印章 程序已安装 U盘插进去没反应怎么回事 2036年到底是什么日子,日历上2036后就没有了 如何安装电子印章控件? W10系统安装不了电子公章驱动 怎样把带有背景图片的word保存为模版?? 如何把一张图片作为word的模板? 急求中信银行logo!要透明的,做ppt用 厨房灶台上全是蚂蚁啊,怎么办? 厨房的灶台上有蚂蚁是怎么回事?该怎么办? qq资料背景图片文字(要拼图)关于爱情的 扣字qq背景壁纸有吗 qq背景壁纸文字 终于等到你 QQ背景汉字 上海市内同一地区户口迁移问题 QQ文字背景 上海迁户口咨询电话? 经典经典qq背景八张文字组图 ca锁盖章出现0xffffffff错误 在使用电子印章盖章的时候总是提示用户pin错误,我们没有改过电子印章的密码,要怎么解决 惠州入户办理户口迁移证? 百度地图api 怎么自动选定一些等距离的点 为什么电子印章安装好了,ePassNG证书管理工具还是显示没有证书? 求助!js怎样动态生成百度map的标注点(markerArr ) 百度地图生成器获得代码后怎么使用 如何使用百度地图生成地震烈度图 网页打印文件 文件中的电子印章在网页上是红色 预览中是黑白求救 打印机是彩色打印机 百度地图为什么去的路线和回来路线不一样 入户惠州要什么学历? 惠州如何办理户口迁移证 前端百度地图如何实现点击添加创建点并获取该点的信息 云彩招阳平台签章异常怎么回事一点开投标文件编辑工具就是检测到签章异常怎么回事_百度问一问 怎么样在百度地图上将一个地区地图生成一张完整的图片 有什么地图软件,可以多点标注,设置途径点,按需标记途径点,实现多点导航路径生成?? 小米盒子和天猫盒子乐视盒子哪个好 乐视盒子小米盒子三星友威哪个好300到500的价位,可以玩游戏 小米盒子,乐视盒子,天猫魔盒,这些盒子到底那个比较好? 准备买带内置WIFI的液晶电视,看网络电视剧。请问还需要买什么乐视盒子或小米盒子吗? ...