超人回来了 2015-10-08 07:31 采纳率: 0%
浏览 2414

百度地图api如何实现拖动地图的时候标记也跟着拖动

类似qq定位里面拖动地图!标记也跟着移动!然后获取标记的经纬度!有没有代码看看

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 10:43
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要使用百度地图API来实现您描述的功能,您需要在服务器端编写JavaScript代码,并与百度地图API进行交互。以下是一个简单的示例,展示了如何通过JavaScript API动态更新地图上的标记位置:

    首先,确保您已经在服务器上安装并配置了百度地图API。

    1. 在服务器上创建一个名为 map.js 的文件,并添加以下内容:
    // 引入百度地图库
    var map = new BMap.Map('container');
    
    // 设置地图样式
    BMAP_STYLE['default']['style'] = 'light';
    map.setStyle(BMAP_STYLE['default']);
    
    // 获取用户坐标
    var userLon = 120;
    var userLat = 34;
    
    // 创建一个点
    var point = new BMap.Point(userLon, userLat);
    
    // 将点设置为当前地图中心
    map.centerAndZoom(point, 15);
    
    // 拖拽事件处理函数
    function onMove(map) {
        var point = map.getCenter();
        // 更新页面显示的经纬度
        document.getElementById("lat").value = point.lat;
        document.getElementById("lon").value = point.lng;
    }
    
    // 监听地图拖拽事件
    map.on('move', onMove);
    
    1. 使用HTML和CSS将地图放置到网页中:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>百度地图API示例</title>
    <style>
      #container { width: 100%; height: 100%;}
    </style>
    <script src="https://api.map.baidu.com/api?v=2.0&ak=YOUR_API_KEY"></script>
    <body>
    <div id="container" style="width: 600px; height: 400px;"></div>
    <input type="text" id="lat" value="0">
    <input type="text" id="lon" value="0">
    <button onclick="onMove(map)">开始拖拽</button>
    </body>
    </html>
    

    在这个示例中,当用户开始拖拽地图时,地图会自动更新其中心位置,并且新的中心位置会被发送到服务器端。服务器端可以解析这些数据并将它们存储在数据库或用于其他目的。

    请注意,这只是一个基本的示例,实际使用时可能需要根据您的具体需求进行调整。例如,您可以考虑添加更多的功能(如添加滚动条、图标等)或者使用更复杂的动画效果。

    评论

报告相同问题?