BIGEMPA Js API示例中心

图层适配源代码展示

代码编辑区 运行 下载 还原
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta
            name="viewport"
            content="initial-scale=1,maximum-scale=1,user-scalable=no"
        />
        <!--
        以下CSS地址请在安装软件了替换成本地的地址
        CSS地址请使用:
        http://localhost:9000/bigemap.js/v2.1.0/bigemap.css
        软件下载地址 http://www.bigemap.com/reader/download/detail201802017.html
    -->
        <link
            href="http://www.bigemap.com:9000/bigemap.js/v2.1.0/bigemap.css"
            rel="stylesheet"
        />
        <link
            href="http://www.bigemap.com/Public/css/button.min.css"
            rel="stylesheet"
        />
        <!--
        JS地址请使用:
        http://localhost:9000/bigemap.js/v2.1.0/bigemap.js
    -->
        <script src="http://www.bigemap.com:9000/bigemap.js/v2.1.0/bigemap.js"></script>
        <style>
            body {
                margin: 0;
                padding: 0;
            }
            #map {
                position: absolute;
                top: 0;
                bottom: 0;
                width: 100%;
            }
            .tool {
                position: absolute;
                z-index: 10;
                right: 10px;
                top: 40px;
            }
        </style>
        <title>图层适配</title>
    </head>
    <body>
        <p class="tool">
            <a
                id="point"
                class="button button-tiny button-rounded button-primary"
                href="javascript:void (0);"
                >适配点</a
            >
            <a
                id="line"
                class="button button-tiny button-rounded button-primary"
                href="javascript:void (0);"
                >适配线</a
            >
            <a
                id="polygon"
                class="button button-tiny button-rounded button-primary"
                href="javascript:void (0);"
                >适配面</a
            >
            <a
                id="all"
                class="button button-tiny button-rounded button-primary"
                href="javascript:void (0);"
                >适配所有</a
            >
        </p>
        <div id="map"></div>
        <script type="text/javascript">
            // 软件配置信息地址,软件安装完成之后使用本地地址,如:http://localhost:9000
            BM.Config.HTTP_URL = "http://www.bigemap.com:9000";
            // 在ID为map的元素中实例化一个地图,不要设置地图ID,ID号程序自动生成,无需手动配置,设置中心点,默认的级别和显示级别控件
            var map = BM.map("map", null, {
                center: [0, 0],
                zoom: 2,
                zoomControl: true,
                attributionControl: false,
                minZoom: 3,
            });
            let marker = BM.marker([60, 104]).addTo(map);
            let line = BM.polyline([
                [30, 102],
                [28, 104],
            ]).addTo(map);
            let polygon = BM.polygon([
                [10, 102],
                [12, 104],
                [20, 100],
            ]).addTo(map);
            // 创建一个图层组,可以用于存放点,线,面数据
            let group = BM.featureGroup();
            var arcgis_satellite = BM.tileLayer("bigemap.zhongkexingtu");
            arcgis_satellite.addTo(map);
            // 适配点
            document
                .querySelector("#point")
                .addEventListener("click", function () {
                    // map.fitBounds(marker.getLatLng());
                    map.setView(marker.getLatLng(), map.getZoom());
                });
            // 适配线
            document
                .querySelector("#line")
                .addEventListener("click", function () {
                    map.fitBounds(line.getBounds());
                });
            //适配面
            document
                .querySelector("#polygon")
                .addEventListener("click", function () {
                    map.fitBounds(polygon.getBounds());
                });
            //适配所有
            document
                .querySelector("#all")
                .addEventListener("click", function () {
                    group.clearLayers();
                    group.addLayer(marker);
                    group.addLayer(line);
                    group.addLayer(polygon);
                    map.fitBounds(group.getBounds());
                });
        </script>
    </body>
</html>