首頁

百度地圖API快速調用,一(yī)鍵生(shēng)成百度地圖

百度地圖API 2018-05-04 3206

對于在網站或者網頁之内插入百度地圖插件,可能很多編程技術人員(yuán)都知(zhī)道如何來做,但是做起來所花費(fèi)的時間都比較長,那麽下(xià)面專業的app開(kāi)發報價燚軒科技就跟大(dà)家分(fēn)享一(yī)下(xià)如何快速調用百度地圖API,一(yī)件生(shēng)成百度地圖的方法,這種方法适用于任何的編程語言,所以有興趣的編程開(kāi)發者可以保存一(yī)下(xià)。

body之間源代碼如下(xià):

<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>

<div id="map" class="map_cont" style="width:600px;height:400px"></div>

    <script type="text/javascript">
        //創建和初始化地圖函數:
        function initMap() {
            createMap();//創建地圖
            setMapEvent();//設置地圖事件
            addMapControl();//向地圖添加控件
            addMarker();//向地圖中(zhōng)添加marker
        }

        //創建地圖函數:
        function createMap() {
            var map = new BMap.Map("map");//在百度地圖容器中(zhōng)創建一(yī)個地圖
            var point = new BMap.Point(113.610508, 34.766151);//定義一(yī)個中(zhōng)心點坐标
            map.centerAndZoom(point, 18);//設定地圖的中(zhōng)心點和坐标并将地圖顯示在地圖容器中(zhōng)
            window.map = map;//将map變量存儲在全局
        }

        //地圖事件設置函數:
        function setMapEvent() {
            map.enableDragging();//啓用地圖拖拽事件,默認啓用(可不寫)
            map.enableScrollWheelZoom();//啓用地圖滾輪放(fàng)大(dà)縮小(xiǎo)
            map.enableDoubleClickZoom();//啓用鼠标雙擊放(fàng)大(dà),默認啓用(可不寫)
            map.enableKeyboard();//啓用鍵盤上下(xià)左右鍵移動地圖
        }

        //地圖控件添加函數:
        function addMapControl() {
            //向地圖中(zhōng)添加縮放(fàng)控件
            var ctrl_nav = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_LEFT, type: BMAP_NAVIGATION_CONTROL_LARGE });
            map.addControl(ctrl_nav);
            //向地圖中(zhōng)添加縮略圖控件
            var ctrl_ove = new BMap.OverviewMapControl({ anchor: BMAP_ANCHOR_BOTTOM_RIGHT, isOpen: 1 });
            map.addControl(ctrl_ove);
            //向地圖中(zhōng)添加比例尺控件
            var ctrl_sca = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT });
            map.addControl(ctrl_sca);
        }
        //标注點數組
        var markerArr = [{
            title: "公司名稱",
            content: "公司地址:XX市XX區XX路<br/>電話(huà):XXXXXX",
            point: "113.610508|34.766151",
            // point: "118.762938|32.069151", 
            isOpen: 0,
            icon: { w: 23, h: 25, l: 46, t: 21, x: 9, lb: 12 }
        }
        ];
        //創建marker
        function addMarker() {
            for (var i = 0; i < markerArr.length; i++) {
                var json = markerArr[i];
                var p0 = json.point.split("|")[0];
                var p1 = json.point.split("|")[1];
                var point = new BMap.Point(p0, p1);
                var iconImg = createIcon(json.icon);
                var marker = new BMap.Marker(point, { icon: iconImg });
                var iw = createInfoWindow(i);
                var label = new BMap.Label(json.title, { "offset": new BMap.Size(json.icon.lb - json.icon.x + 10, -20) });
                marker.setLabel(label);
                map.addOverlay(marker);
                label.setStyle({
                    borderColor: "#808080",
                    color: "#333",
                    cursor: "pointer"
                });

                (function () {
                    var index = i;
                    var _iw = createInfoWindow(i);
                    var _marker = marker;
                    _marker.addEventListener("click", function () {
                        this.openInfoWindow(_iw);
                    });
                    _iw.addEventListener("open", function () {
                        _marker.getLabel().hide();
                    })
                    _iw.addEventListener("close", function () {
                        _marker.getLabel().show();
                    })
                    label.addEventListener("click", function () {
                        _marker.openInfoWindow(_iw);
                    })
                    if (!!json.isOpen) {
                        label.hide();
                        _marker.openInfoWindow(_iw);
                    }
                })()
            }
        }
        //創建InfoWindow
        function createInfoWindow(i) {
            var json = markerArr[i];
            var icon = new BMap.Icon("http://app.baidu.com/map/images/us_mk_icon.jpg", new BMap.Size(json.w, json.h), { imageOffset: new BMap.Size(-json.l, -json.t), infoWindowOffset: new BMap.Size(json.lb + 5, 1), offset: new BMap.Size(json.x, json.h) })
            var iw = new BMap.InfoWindow("<b class='iw_poi_title' title='" + json.title + "'>" + json.title + "</b><div class='iw_poi_content'>" + json.content + "</div>");
            return iw;
        }
        //創建一(yī)個Icon
        function createIcon(json) {
        }
        initMap();//創建和初始化地圖

    </script>


相信嘗試過之後,各位編程技術人員(yuán)已經看到效果了,如果有什麽好的想法,可以在下(xià)方評論區留言,我(wǒ)(wǒ)們互相共同進步。

分(fēn)享:
分(fēn)享到微信朋友圈 +
打開(kāi)微信,點擊底部的“發現”,使用 “掃一(yī)掃” 即可将網頁分(fēn)享到我(wǒ)(wǒ)的朋友圈。 如何使用?
推薦文章

熱貼More +

服務範圍More +

聯系我(wǒ)(wǒ)們

請掃二維碼聯系客服

854221200@qq.com

185-3825-9583

QQ客服

關于  ·  招聘  ·  案例中(zhōng)心  ·  網站地圖

©@2018 燚軒科技版權所有 豫ICP備16015002号-4

百度提供搜索支持