Home > Web Front-end > JS Tutorial > How to use JS and Baidu Maps to implement the map drawing polygon area function

How to use JS and Baidu Maps to implement the map drawing polygon area function

WBOY
Release: 2023-11-21 16:41:31
Original
951 people have browsed it

How to use JS and Baidu Maps to implement the map drawing polygon area function

How to use JS and Baidu Map to implement the map drawing polygon area function

Baidu Map is currently one of the most popular map applications in China, providing a rich interface and function allows us to implement custom map needs through JS. This article will introduce how to use JS and Baidu Map API to implement the map drawing polygon area function, and provide specific code examples.

First of all, before use, we need to introduce the JS file and style file of Baidu Map into the HTML page. Add the following code in the

tag:
<script src="http://api.map.baidu.com/api?v=2.0&ak=your_ak"></script>
<link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" />
Copy after login

Among them, your_ak is the AK (API Key) you applied for on the Baidu Map Open Platform, which is used to verify the permissions of the map function. .

Next, we need to initialize the map in JS code and create a drawing manager. Add the following code in the tag:

<div id="map" style="width:800px;height:600px;"></div>
<script>
// 初始化地图
var map = new BMap.Map("map");

// 设置地图中心点和缩放级别
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);

// 创建绘制管理器
var drawingManager = new BMapLib.DrawingManager(map, {
    isOpen: false,  // 是否开启绘制模式
    enableDrawingTool: true,  // 是否显示工具栏
    drawingToolOptions: {
        anchor: BMAP_ANCHOR_TOP_LEFT,  // 工具栏位置
        offset: new BMap.Size(10, 10)  // 工具栏偏移量
    },
    polygonOptions: {
        strokeWeight: 2,  // 边线线宽
        strokeColor: "#333",  // 边线颜色
        fillColor: "#999",  // 填充颜色
        fillOpacity: 0.3  // 填充透明度
    }
});

// 添加绘制完成事件监听器
drawingManager.addEventListener("overlaycomplete", function(e) {
    var overlay = e.overlay;
    // 可以在这里对绘制的多边形区域进行处理
});
</script>
Copy after login

In the above code, we used BMap.Map to create the map instance and BMap.Point Defines the center point and zoom level of the map. Then, we created a drawing manager through BMapLib.DrawingManager and passed in the map and drawing toolbar related settings.

Next, a drawing completion event listener is added through drawingManager.addEventListener. This event will be triggered when the user completes drawing the polygon. We can process the drawn polygon area accordingly in the event callback function.

Finally, put the above code into the <script></script> tag and <div id="map"></div>&gt ;Place it in the appropriate location to display the map and drawing tools in the browser.

Through the above code, we can realize the function of drawing polygonal areas on Baidu map.

In addition to drawing polygonal areas, Baidu Maps' API also provides other rich functions, such as drawing circles, rectangles, polylines, etc., and can also perform geographical location searches, obtain surrounding information, etc. For more complex requirements, we can find the corresponding interface and sample code through Baidu Map API documentation.

I hope this article will be helpful for using JS and Baidu Maps to implement the map drawing polygon area function. Good luck with your project development!

The above is the detailed content of How to use JS and Baidu Maps to implement the map drawing polygon area function. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template