高德地图显示自定义信息窗体

高德地图显示自定义信息窗体

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>自定义窗体</title>
  <link href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
    <script src="//cdn.bootcss.com/jquery/2.2.4/jquery.js"></script>
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <script type="text/javascript"
            src="http://webapi.amap.com/maps?v=1.3&key=您申请的key值"></script>
    <script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
</head>
<body>
<div id="container"></div>
<script type="text/javascript">
    //初始化地图对象,加载地图
    var map = new AMap.Map("container", {resizeEnable: true});
    var lnglats = [
        [116.368904, 39.923423],
        [116.382122, 39.921176],
        [116.387271, 39.922501],
        [116.398258, 39.914600]
    ];
    var infoWindow = new AMap.InfoWindow({offset: new AMap.Pixel(0, -30)});
    for (var i = 0, marker; i < lnglats.length; i++) {
        var marker = new AMap.Marker({
            position: lnglats[i],
            map: map
        });
        marker.content = '<h3>我是第' + (i + 1) + '个XXX</h3>';
        marker.content += '<div>经度:'+lnglats[i][0]+'</div>';
        marker.content += '<div>纬度:'+lnglats[i][1]+'</div>';
        marker.content += '<div><button  class="btn btn-suucess btn-xs">历史轨迹</button>';
        marker.content += '&nbsp;<button class="btn btn-warning btn-xs">实时跟踪&nbsp;</button>';
        marker.content += '&nbsp;<button  class="btn btn-danger btn-xs">设置</button></div>';

        marker.on('click', markerClick);
        marker.emit('click', {target: marker});
    }
    function markerClick(e) {
        infoWindow.setContent(e.target.content);
        infoWindow.open(map, e.target.getPosition());
    }
    map.setFitView();
</script>
</body>
</html>
你好!对于高德地图自定义复杂样式信息窗体,你可以按照以下步骤进行操作: 1. 首先,创建一个自定义信息窗体样式,可以使用HTML、CSS和JavaScript来定义窗体的内容和样式。 2. 在地图上创建一个标记点,然后将自定义信息窗体与该标记点关联起来。你可以使用高德地图的Marker类来创建标记点,并使用Marker的setExtData方法将自定义信息窗体与标记点关联。 3. 当用户点击标记点时,触发相应的事件,例如click事件。在事件处理程序中,可以调用自定义信息窗体的open方法,将信息窗体显示在地图上。 以下是一个示例代码,演示了如何创建自定义复杂样式的信息窗体: ```javascript // 创建地图实例 var map = new AMap.Map('map-container', { zoom: 13, center: [116.397428, 39.90923] }); // 创建标记点 var marker = new AMap.Marker({ position: [116.397428, 39.90923], map: map }); // 创建自定义信息窗体 var infoWindow = new AMap.InfoWindow({ content: '<div class="info-window">这是一个自定义信息窗体</div>', offset: new AMap.Pixel(0, -30) // 窗体相对于标记点的偏移量 }); // 关联标记点和信息窗体 marker.setExtData(infoWindow); // 绑定事件处理程序 marker.on('click', function () { var infoWindow = this.getExtData(); infoWindow.open(map, this.getPosition()); }); ``` 这个示例中,我们创建了一个地图实例,并在地图上创建了一个标记点。然后,我们创建了一个自定义信息窗体,并将其与标记点关联。最后,通过绑定标记点的click事件,在点击标记点时显示信息窗体。 你可以根据自己的需求,修改自定义信息窗体的内容和样式,以实现复杂的效果。希望对你有帮助!如有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值