zoukankan      html  css  js  c++  java
  • 百度地图接口使用例子

    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>
  • 相关阅读:
    winform 单选框, 图像控件,图像列表,状态栏,定时器,绘图
    学习资料链接,csdn博客
    c# 基本控件,窗口程序
    Gmap.net 怎么导入离线地图
    修改MFC主窗口界面标题和图标的方法
    vc6.0缓冲区
    vc6.0编译出错,删除多余的文件,清空重新编译
    Tomcat插件与Jetty插件在MyEclipse中的配置
    div里面的内容超出自身高度时,显示省略号
    aptana studio 3 自动换行(无需插件)
  • 原文地址:https://www.cnblogs.com/RightDear/p/3154620.html
Copyright © 2011-2022 走看看