百度地图起点和终点位置标注,点击标注弹出信息窗口

最近在做地图,百度官网的sdk是真的真的要好好看,先出做出来的效果图
在这里插入图片描述
首先,我们先画出地图,然后在右侧悬浮一个弹框
HTML:

   <body>
    <div id="map_container"></div>    
    <div id="content">
            <div class="AnalyzedTitle">
                    <div class="AnalyzedPaller"></div>
                    <div class="AnalyzedDec">位置查询信息</div>
            </div>
            <div class="set">
                <ul class="Adress" id="LocationUl">
                </ul>  
            </div>
</body>

style:

   #content{
        width:470px;
        min-height:1000px;
        top:0px;
        right:0px;
        position:absolute;
        z-index:9999;
        background-color:#FFFFFF;
    }

接下来我们写的代码就是去获取到地图样式,然后在请求数据接口获取起点和终点的经纬度进行渲染,在点击事件来请求信息窗口
后端数据的接口,我包括了经纬度和名字来统一获取:
在这里插入图片描述
接下来是我们的重头戏,代码有点多,耐心看哦,认真理解,其实很容易,用了ajax去获取数据,然后用了闭包去点击获取每一个li显示的不同内容,接下来就是地图的渲染了。
style:

<script type="text/javascript">
  height = $(window).height();
  $("#map_container").css("height",height);

var map = new BMap.Map("map_container",{
    mapType: BMAP_NORMAL_MAP,
    minZoom : 4,
    maxZoom : 18
});      //设置卫星图为底图
// var point = new BMap.Point(116.404, 39.915);                    // 创建点坐标
var point = new BMap.Point(112.93,28.23)           //设置刚加载地图的界面的初始显示位置
map.centerAndZoom(point,12);                  // 初始化地图,设置中心点坐标和地图级别。
map.addControl(new BMap.NavigationControl());
map.enableScrollWheelZoom();                  // 启用滚轮放大缩小。
map.enableKeyboard();                         // 启用键盘操作。 


$(document).ready(function(){
    AddressLi();
});

window.onresize = function(){
    height = $(window).height();
    $("#map_container").css("height",height);
}

function AddressLi(){
    $.ajax({
        type:'get',
        dataType:'JSON',
        async:false,
        url:'https://www.fastmock.site/mock/aa62cb09064cc0e39b24602f4b19846a/map/json/map',
        contentType:'application/json;charset=UTF-8',
        success:function(r){
            if(r!=null){
                for(i in r){
                    var name = r[i].InitiationName
                    var Endname = r[i].Endname
                    var AppName = r[i].AppName
                    var Day = r[i].Day
                    var Time = r[i].Time
                    var lng = r[i].lng
                    var lat = r[i].lat
                    var Endlng = r[i].Endlng
                    var Endlat = r[i].Endlat
                    if(r[i].Error ==='Error'){
                        $('#LocationUl').append('<li > <p class="TitleOne">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="./images/locationError.png"  width="20px" height="18px">&nbsp;&nbsp;&nbsp;'+name+'-'+Endname+'</p><p class="TitleTwo">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+Day+' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '+Time+' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+AppName+'</p>  </li>')
                    } else{
                        $('#LocationUl').append('<li> <p class="TitleOne">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="./images/locationSuccess.png"  width="20px" height="18px">&nbsp;&nbsp;&nbsp;'+name+'-'+Endname+'</p><p class="TitleTwo">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+Day+' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '+Time+' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+AppName+'</p>  </li>')
                    }
   $(document).ready(function () {
          var obj_lis=document.getElementsByTagName('li')
          for(i=0;i<obj_lis.length;i++){
             show(i);//通过调用一个闭包函数,来保存当前变量的值i
             function show(i){
             obj_lis[i].onclick = function(){

             //显示的是起点和终点的标注,这里是起点和终点需要用不同的图标显示,所以用if判断
           var adds = [
                 new BMap.Point(r[i].lng,r[i].lat),
                new BMap.Point(r[i].Endlng,r[i].Endlat)
               ]
            console.log(adds)
         for(var j=0;j<adds.length;j++){
            if(adds[0]){
                 var icon = new BMap.Icon('./images/起点红.png',new BMap.Size(90,100),{anchor:new BMap.Size(20,40)});
                 var marker1 =new BMap.Marker(adds[0],{icon:icon});
                 map.addOverlay(marker1)
                 map.panTo(adds[0]) //敲个黑板,这里设置了panTo是让地图平滑至新的中新点,就是当你点击li标签获取起点和终点时,会自动定位到新的起点的位置
                  //给标记添加点击事件以及显示窗口信息
                 var infoWindow1 = new BMap.InfoWindow("<p style='font-size:14px;'>" + r[i].InitiationName + "</p>");
                 marker1.addEventListener("click", function () { this.openInfoWindow(infoWindow1); })                                            }
             if(adds[1]){
                var icon = new BMap.Icon('./images/终点绿.png',new BMap.Size(90,100),{anchor:new BMap.Size(20,40)});
                var marker =new BMap.Marker(adds[1],{icon:icon});
                map.addOverlay(marker)
                //给标记添加点击事件以及显示窗口信息
               var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>" + r[i].Endname + "</p>");
               marker.addEventListener("click", 
               function () { this.openInfoWindow(infoWindow); });
                        }
               }
               
              //显示起点和终点之间的连线
                 var polyline = new BMap.Polyline([
                 new BMap.Point(r[i].lng, r[i].lat),
                 new BMap.Point(r[i].Endlng, r[i].Endlat),
                ], {strokeColor:"#FF1616", strokeWeight:4, strokeOpacity:0.7});
                  map.addOverlay(polyline);
                                    }
                                }
                        }
                    })
                }
            }
        },
        error:function(r){
            console.log('接口出错了')
        }
    })
}
Sara0064
关注 关注
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
百度地图开发-将多个地点标记在地图上,点击节点弹出PopupWindow
远航 | FIBOS.io
11-06 7700
最近在写一个安卓程序,用到了百度地图API的一些内容,就随便玩耍了一下。 这个DEMO是用来将多个地点标记在地图上,然后点击节点弹出PopupWindow 下面是一些截图: main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
百度地图API调用外加弹出窗口
qq_52475404的博客
10-03 555
主要是借助map生成器自行实现 <!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> <meta http-equiv="Content-Type" content="text/
百度地图点击标注弹出窗口.rar
06-03
百度地图点击标注弹出窗口
项目中的百度地图添加标注,动态弹框
weixin_30918415的博客
11-28 181
1.最近项目开发中,用到了地图,需求是使用百度地图 初始化地图: var list = ""; var map = ""; var drawingManager = ""; if (typeof (BMap) == 'undefined') { //地图加载失败 document.getElementById("allmap").innerHTML =...
vue使用百度地图(标点、点击后展示弹框、多个标点、点聚合)
最新发布
m0_59642018的博客
03-22 3962
vue百度地图
百度地图——点标记及点击弹窗显示
xiaoququ的博客
12-07 3456
自定义图片标记点,多个样式不同的lable点击点展示弹窗,展示图片和录音播放暂停
实现百度地图点击标注弹出窗口_地图定位.zip
09-02
百度地图点击标注弹出窗口
百度地图SDK5.2.1
03-30
通过这些接口,开发者可以实现更丰富的交互功能,如点击地图上的某个点弹出信息窗口,或者根据用户的地图操作动态更新数据。 七、离线地图与数据缓存 考虑到网络环境的不稳定,百度地图SDK 5.2.1提供了离线地图...
Android 开发 第三方SDK 百度地图SDK使用(一)
06-08
- **地图事件监听**:监听地图的点击事件,实现交互功能,如点击弹出信息框等。 - **离线地图**:支持下载离线地图数据,节省流量并提高加载速度。 通过深入学习和实践,你可以熟练掌握百度地图SDK的使用,为你的...
百度地图v3.0.0工具类
07-14
百度地图v3.0.0中,我们可以利用工具类创建弹出窗口,将其与地图上的特定位置关联,当用户点击某个覆盖物时,弹出窗会显示相关信息弹出窗口支持自定义布局和内容,提供了丰富的定制化选项。 路线规划是地图服务...
解决百度地图中多个标注弹出信息框内容都一样的问题
11-21
点击一个按钮“长沙市” 进去 希望在地图上显示出长沙市的一些符合规则的企业,当然是有很多个的,每个企业一个标注(就是一个红点),点击标注 弹出一个框 显示企业的详细信息。。 问题来了。。标注可以循环添加多个 但是 那个弹出框却永远都是一个 也就是说 不管点击哪个标注 弹出的都是一个弹出框 显示的内容都是一样的。 给出这个问题的最终解决办法!!
百度地图API实例
08-15
开发者可以通过监听地图上的点击、拖动等事件,实现交互式功能,如点击地图上的标记弹出信息窗口,或者拖动地图时更新相关数据。 8. **静态地图与动态地图** 百度地图API支持静态地图和动态地图的生成。静态地图...
html 地图点击标注有提示框不完整,用百度地图API显示多个标注点带提示,想要点击按钮后跳转到对应区域放大地图,并弹出信息框的功能。...
weixin_39835117的博客
06-04 565
想要的效果是点击那个名字按钮然后下侧的地图自动跳转到那个门店的地方弹出这个框并放大现在我能实现的功能是点击地图上的那个小图标可以放大弹出那个内容框代码如下百度地图API显示多个标注点带提示的代码.BMap_bubble_content {font-family: "微软雅黑"}.BMap_bubble_content img {width: 220px;height: 100px;marg...
android 百度地图 底部弹出框,android百度地图标注弹出气泡.docx
weixin_30446393的博客
05-26 251
android百度地图标注弹出气泡百度地图标注弹出气泡实现功能:点击标注物,弹出气泡,点击气泡跳转到另一个页面气泡可以自定义,网上很多都需要draw这个函数,搞得那么复杂,好吧我承认自己水平不高.overlay_pop.xml:MapActivity:// 标注物资源privateDrawabledriverMarker = null;privateintlat;privateintlon;p...
android实现百度地图自定义弹出窗口功能,百度地图标注、弹窗的自定义设置...
weixin_39558804的博客
05-27 804
百度地图设置多个标注标注图片自定义,点击标注自定义弹出窗口信息窗口样式信息自定义效果代码:html>百度地图点击显示窗口自定义信息//百度地图API功能varx='116.419217';vary='39.916261';baidu(x,y);/*自动定位到当前城市*/functionbaidu(x,y){if(!x||!y){functionmyFun(result){...
百度地图点标记以及点击弹出对应信息窗口自定义样式--infoBox
热门推荐
yy_YuanyuanGao的博客
05-29 1万+
百度地图提供的信息窗口风格与项目不符,UI设计出来的太高端。 效果图如下: var points=[ {"lng":111.188261,"lat":34.791984,"count":50,'type':2,'name':'巴奴毛肚','address':'郑州市金水区正弘城'}, {"lng":111.223332,"lat":34.796532,"count":51,...
百度地图实现输入地址地图显示标注,地图选点显示详细地址
weixin_41402671的博客
03-20 4879
首先引入百度地图js&lt;script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&amp;ak=8DNPcDeuWLk7Yb1HEVTzWE8drkRjDV3y"&gt;&lt;/script&gt;部分HTML代码,在第一个input框输入地址内容,第二个input框存放详细地址&lt;label class=...
百度地图插件 (如何实现点击不同标注打开信息窗口显示不同的内容?)
weixin_45864683的博客
01-20 399
这要用到 js 的闭包 代码如下: /* 当在地图上只有一个标注时 * @param list // 经纬度列表 */ function initializeList(list) { var loca = getLocation(list[0].itude); var B = loca['B']; var L = loca['L']; var map = new BMap.Map("map"); // 创建地图实例 var point = new BMap.Point...
android实现百度地图点击覆盖物弹出自定义弹出窗口
晓剑
06-30 5624
我们使用百度地图的时候,点击地图上的Marker,会弹出一个该地点详细信息窗口,如下左图所示,有时候,我们希望自己定义这个弹出窗口的内容,或者,干脆用自己的数据来构造这样的弹出窗口,但是,在百度地图最新的Android SDK中,没有方便操作这种弹出窗口的类,虽然有一个PopupOverlay,但是它只支持将弹出内容转化为不多于三个Bitmap,如果这个弹出窗口里想有按钮来响应点击事件,用这个就
写文章

热门文章

  • vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in created hook: "TypeError: Object(...) is not a func 29571
  • code EPERM npm ERR! syscall mkdir npm ERR! path C:\Program Files\nodejs\node_modules\.staging npm E 18512
  • ant design中table表格提交数据刷新问题 18159
  • vue中当界面第一次请求可以,但第二次请求接口数据加载不出来的解决方法用(reloader) 8544
  • vue+ant design 后端获取接口进行下拉框数据获取 8179

最新评论

  • vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in created hook: "TypeError: Object(...) is not a func

    qq_43018652: 这个最后解决了吗 我也是解构的时候遇到了 加{ } 也没用

  • vue +ant design中树形菜单自定义图标,分段请求子菜单的需求

    拾穗行歌。: 有效 大佬写的不错~

  • vue+ant design中select选择框支持模糊查询

    绯樱殇雪: 请问这个支持多选吗?

  • vue+ant design 后端获取接口进行下拉框数据获取

    Bywinkey: 你这码打的,整篇博文弄稀碎了

  • code EPERM npm ERR! syscall mkdir npm ERR! path C:\Program Files\nodejs\node_modules\.staging npm E

    Champhoenix: 不错

最新文章

  • 报错remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has
  • 已有的本地项目如何在Git库上重新关联
  • 一招搞定动态获取的多个关键词在列表的每一项高亮
2024年1篇
2023年1篇
2022年1篇
2021年3篇
2020年10篇
2019年11篇
2018年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司网站的网站优化方案黄冈市网站关键词优化公司福建怎样给网站做优化方案网站优化怎么写临淄网站优化哪家好南阳平台seo网站优化商城网站优化价格罗湖搜索网站优化及营销方案郑州网站seo优化网页科技怎么优化网站访问速度金湾区网站seo优化排名罗湖儿童网站优化互联网推广濮阳靠谱网站优化哪家好宜昌网站推广优化济南网站优化公司哪家好资阳网站优化推广公司网站结构优化案例南充网站优化方案汕头企业网站关键词优化教程网站推广优化tk冖云速捷虎门电子网站制作优化网站推广优化拾首选金手指2网站优化排名易下拉咨询优化网站推广的方法网站快速优化排名官网镇宁网站优化好吗网站站群优化网站搜索引擎优化改善方面网站的源代码seo优化锦州正规网站seo站内优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化