百度地图接口使用例子

baidumap.js

var bmap;
var menu=null;
var initlat="34.16";
var initlng="208.54";
var initzoom=5;
function initialize(){
    bmap=new BMap.Map("map_canvas");
    bmap.enableScrollWheelZoom();
    bmap.centerAndZoom(parseToBmapLatlng(initlat,initlng),initzoom);
    bmap.addControl(new BMap.NavigationControl());
    initOverCallback()
    }
    function loadBaiduMapApi(){
    var a=document.createElement("script");
    a.src="http://api.map.baidu.com/api?v=1.3&callback=initialize";
    document.body.appendChild(a)
    }
    function parseToBmapLatlng(b,a){
    return new BMap.Point(a,b)
    }
    function fixPosition(a,b){
    bmap.centerAndZoom(a,b)
    }
    function addMarker(c){
    var b={
        point:null,
        title:null,
        dragable:false,
        func:null,
        multi:false,
        label:false
    };
    
    var d=$.extend({},b,c);
    if(d.point==null){
        alert("请指定标记位置!")
        }
        if(!d.multi){
        bmap.clearOverlays()
        }
        var a=new BMap.Marker(d.point);
    if(d.title!=null){
        a.setTitle(d.title)
        }
        bmap.addOverlay(a);
    if(d.dragable){
        a.enableDragging()
        }
        if(d.func!=null){
        a.addEventListener("click",d.func)
        }
        return a
    }
    function addContextMenu(){
    menu=new BMap.ContextMenu();
    var b=[{
        text:"放大",
        callback:function(){
            bmap.zoomIn()
            }
        },{
    text:"缩小",
    callback:function(){
        bmap.zoomOut()
        }
    },{
    text:"在此标记(拖拽标记改变位置,点击标记确定位置)",
    callback:function(c){
        addMarker({
            point:c,
            dragable:true,
            func:confirmLoc,
            multi:true
        })
        }
    }];
for(var a=0;a<b.length;a++){
    menu.addItem(new BMap.MenuItem(b[a].text,b[a].callback,100))
    }
    bmap.addContextMenu(menu)
}
function locateWithIp(){
    var a=new BMap.LocalCity();
    a.get(function(b){
        fixPosition(b.name,b.level)
        })
    }
function confirmLoc(a){
    if(confirm("是否将此位置作为目标地址?")){

        $("#latitude").val(a.point.lat);
        $("#longitude").val(a.point.lng);
        //bmap=new BMap.Map("map_canvas");
        var sContent ="<h5 style='margin:0 0 5px 0;padding:0.2em 0'>"+$('#street').val()+"</h4>" ;
        var point =new BMap.Point(a.point.lng, a.point.lat);
        var marker = new BMap.Marker(point);
        var infoWindow = new BMap.InfoWindow(sContent);  // 创建信息窗口对象
        bmap.addOverlay(marker);
        marker.openInfoWindow(infoWindow);

        infoWindow.redraw();

        $("#messagebox").fadeOut(1500);

    }
}
function codeAddress(c){
    var a={
        pageCapacity:8,
        onSearchComplete:function(e){
            if(b.getStatus()==BMAP_STATUS_SUCCESS){
                bmap.clearOverlays();
                for(var d=0;d<e.getCurrentNumPois();d++){
                    if(d==0){
                        fixPosition(e.getPoi(d).point,15)
                        }
                        addMarker({
                        point:e.getPoi(d).point,
                        title:e.getPoi(d).title,
                        multi:true,
                        func:confirmLoc
                    })
                    }
                }else{
            alert("没有搜索到相关地址,请手动在地图上选择该地址并点击鼠标右键来选择具体位置!")
            }
        }
};

var b=new BMap.LocalSearch(bmap,a);
b.search(c,{
    forceLocal:true
})
}
function resetMap(){
    if(menu!=null){
        bmap.removeContextMenu(menu)
        }
        bmap.clearOverlays();
    bmap.centerAndZoom(parseToBmapLatlng(initlat,initlng),initzoom)
    }
    function initOverCallback(){};

在html文件里使用:

$(function(){

loadBaiduMapApi();

})

<div id="map_canvas" style=" 400px; height: 320px; margin-top: 20px; overflow: hidden; position: relative; z-index: 0; background-color: rgb(243, 241, 236); color: rgb(0, 0, 0); text-align: left;"></div>
原文地址:https://www.cnblogs.com/RightDear/p/3154620.html