如何设置百度地图infowindow的位置
3个回答
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
有这样一个问题,我的标注点是从数据库里面读出来的,利用ajax加载到地图上,所以是使用循环加载的,我想要当用户点击标注的时候 会显示详细信息,我是使用 infoWindow显示的,但是问题来了,因为是循环,所以点击后,显示的总是最后一个的信息,请问各位大神有什么好办法呢,下面吧代码贴上来:
var opts = {
width: 250, // 信息窗口宽度
height: 100, // 信息窗口高度
title: "Hello" // 信息窗口标题
}
//循环数据信息
for (var i = 0; i < arr.length; i++) {
//标注的经度
var jd = parseFloat(arr[i].split(",")[0]).toFixed(6);
//标注的纬度
var wd = parseFloat(arr[i].split(",")[1]).toFixed(6);
//显示的内容
var name = arr[i].split(",")[2];
var point = new BMap.Point(jd, wd);
map.centerAndZoom(point, 15);
var marker = new BMap.Marker(point); // 创建标注
//name是显示的内容,是从数据库读出来的.因为做测试 opts 使用的是一个
var infoWindow1 = new BMap.InfoWindow(name, opts);
marker.addEventListener("click", function () {
this.openInfoWindow(infoWindow1);
});
map.addOverlay(marker);
}
上面的是我的代码,测试了,标注都显示出来了,但是提示信息都是循环的最后一个,有懂得帮忙看看,谢谢各位了
var opts = {
width: 250, // 信息窗口宽度
height: 100, // 信息窗口高度
title: "Hello" // 信息窗口标题
}
//循环数据信息
for (var i = 0; i < arr.length; i++) {
//标注的经度
var jd = parseFloat(arr[i].split(",")[0]).toFixed(6);
//标注的纬度
var wd = parseFloat(arr[i].split(",")[1]).toFixed(6);
//显示的内容
var name = arr[i].split(",")[2];
var point = new BMap.Point(jd, wd);
map.centerAndZoom(point, 15);
var marker = new BMap.Marker(point); // 创建标注
//name是显示的内容,是从数据库读出来的.因为做测试 opts 使用的是一个
var infoWindow1 = new BMap.InfoWindow(name, opts);
marker.addEventListener("click", function () {
this.openInfoWindow(infoWindow1);
});
map.addOverlay(marker);
}
上面的是我的代码,测试了,标注都显示出来了,但是提示信息都是循环的最后一个,有懂得帮忙看看,谢谢各位了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1)构造infowindow:参考 2)baidumap中显示,参考: 望采纳,谢谢!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询