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>
  • 相关阅读:
    如何只通过Sandboxed Solution启动一个定时执行的操作
    创建与SharePoint 2010风格一致的下拉菜单 (续) 整合Feature Custom Action框架
    创建与SharePoint 2010风格一致的下拉菜单
    《SharePoint 2010 应用程序开发指南》第二章预览
    SharePoint 2013 App 开发 (1) 什么是SharePoint App?
    使用Jscex增强SharePoint 2010 JavaScript Client Object Model (JSOM)
    搜索范围的管理
    SharePoint 2010 服务应用程序(Service Application)架构(1)
    SharePoint 2010 服务应用程序(Service Application)架构(2)
    SharePoint 2013 App 开发 (2) 建立开发环境
  • 原文地址:https://www.cnblogs.com/RightDear/p/3154620.html
Copyright © 2011-2022 走看看