[置顶] 项目开发中引入百度地图(灾情信息分享网)

效果图




首先要说的是 一个web页面是由上而下的执行  因此引入javascript的时候 必须把javascript代码写在页面的下方  不然会出现 页面加载完了 地图没有加载进来,

<script type="text/javascript">/*<![CDATA[*/                                                       



// 创建地图对象并初始化
var mp = new BMap.Map("divmap",{
    enableHighResolution: true //是否开启高清
});
var point = new BMap.Point(116.404, 39.915);
mp.centerAndZoom(point, 3); //初始化地图
mp.enableInertialDragging(); //开启关系拖拽
mp.enableScrollWheelZoom();  //开启鼠标滚动缩放

// 添加定位控件
//var geoCtrl = new BMap.GeolocationControl({
//    showAddressBar       : true //是否显示
//    , enableAutoLocation : true //首次是否进行自动定位
//    , offset             : new BMap.Size(0,25)
//    , locationIcon     : icon //定位的icon图标
//});
//监听定位成功事件
//geoCtrl.addEventListener("locationSuccess",function(e){
//        console.log(e);
//});

////监听定位失败事件
//geoCtrl.addEventListener("locationError",function(e){
//        console.log(e);
//});

//// 将定位控件添加到地图
//mp.addControl(geoCtrl);

//检索类型
var type = "";
type = LOCAL_SEARCH ;   //周边检索
//type = TRANSIT_ROUTE; //公交检索
//type = DRIVING_ROUTE; //驾车检索

//创建鱼骨控件
var navCtrl = new BMap.NavigationControl({
        anchor: BMAP_ANCHOR_TOP_LEFT //设置鱼骨控件的位置
});
// 将鱼骨添加到地图当中
mp.addControl(navCtrl);


// 添加默认比例尺控件
mp.addControl(new BMap.ScaleControl());               
mp.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT}));  
 
//添加路况控件
var ctrl = new BMapLib.TrafficControl({
   showPanel: false //是否显示路况提示面板
});      
mp.addControl(ctrl);
ctrl.setAnchor(BMAP_ANCHOR_TOP_RIGHT);
var point = new BMap.Point(103.5, 31.4);
var marker= new BMap.Marker(point);mp.addOverlay(marker);

//添加节点
addMarker(mp,point);

</script>                                                                                                           

另外有时候我们需要从后台加载信息

也必须把lable 标签 或者是literal 标签放在页面的下方 不然会出现页面加载不了的情况

  例如我就把他放在footer当中

<asp:Literal ID="litMaker" runat="server"></asp:Literal>

后台我是这样写的  ===========================================

 Pictures p = new Pictures();
            foreach (DataRow row in  ds.Tables[0].Rows)
            {
               
                string l = row["Longitude"].ToString();
                string w = row["Latitude"].ToString();
                string title = row["DisasterTitle"].ToString().Replace("\"","").Replace("'", "");
                string sContent = "\"<h4>" + title + "</h4>\"";
                int disasterid = Convert.ToInt32(row["DisasterId"]);
               // script += sContent;
                script += "var point = new BMap.Point(" + l + ", " + w + ");var marker= new BMap.Marker(point);mp.addOverlay(marker);marker.addEventListener(\"click\", function(){this.openInfoWindow(new BMap.InfoWindow(\"<div><h4 style='margin:0 0 5px 0;padding:0.2em 0'>" + title + "</h4><img style='float:right;margin:4px' id='imgDemo' src='" + GetPicUrl(disasterid) + "' width='139' height='104' title='" + title + "'/><p style='margin:0;line-height:1.5;font-size:13px;text-indent:2em'></p><br/>经度:" + l + "<br/>纬度:" + w + "<br/>参考位置:" + row["Region"] + "<br/></div>\"))});";

            }

            litMaker.Text = " <script type=\"text/javascript\">function addMarker(mp,point){" + script + " }</script>";

}


posted @ 2013-03-21 13:36  shouqiang Wei  阅读(318)  评论(0编辑  收藏  举报