百度地图,点击,切换地址

这段代码展示了如何利用JavaScript和百度地图API在网页上动态展示医院的联系信息,并实现点击联系信息时在地图上定位。当用户点击某个医院条目时,地图会跳转并显示对应的医院位置,同时设置标注和动画效果。默认选中第一个医院进行展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
<script src="http://api.map.baidu.com/api?v=2.0&ak=你自己的密钥"></script>
<div class="contact-wrap">
   <div class="contact-title">联系我们</div>
   <ul class="contact-list">
           @foreach($ary_hospital as $k =>$v)
               <li class="contact-item" location-x="{{$v['location_x']??''}}" location-y="{{$v['location_y']??''}}">
                   <a href="javascript:;" class="contact-sub-title">{{$v['name']??''}}</a>
                   <div class="contact-in">
                       <div class="contact-in-item">
                           {{$v['address']??''}}
                       </div>
                       <div class="contact-in-item">
                           {{$v['fax']??''}}
                       </div>
                       <div class="contact-in-item">
                           {{$v['tel']??''}}
                       </div>
                       <div class="contact-in-item">
                           {{$v['mailbox']??''}}
                       </div>
                   </div>
               </li>
           @endforeach
   </ul>
</div>

 

$(function(){

    // 切换显示院区地图
    var location_x;
    var location_y;
    var site_name;
    $('.contact').on('click', '.contact-item', function(e){
        var me = $(this);
        location_x = me.attr("location-x");
        location_y = me.attr("location-y");
        site_name = me.find('.contact-sub-title').text();
        me.addClass('active').siblings().removeClass('active');

        // 百度地图API功能
        var map = new BMap.Map("contact");
        // map.clearOverlays();
        map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
        var point = new BMap.Point(location_x, location_y);
        map.centerAndZoom(point, 18);
        var marker = new BMap.Marker(point);   // 创建标注
        map.addOverlay(marker);         // 将标注添加到地图中
        marker.setAnimation(BMAP_ANIMATION_BOUNCE);//跳动的动画
        map.addEventListener("contact", function (){ // 监听地图移动事件
            // 获取地图中心点并更新marker坐标
            marker.setPosition(map.getCenter());
        });

    });

    $(".contact-item").eq(0).click();
})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值