在网页上加载百度地图

在项目里看在之前不知哪位程序员的大作,觉得挺好,就给摘下来了。

<!--bootstrap tab-->
                        	<a href="#profile3" class="tabtn" id="around" rel="1" data-toggle="tab">地图</a>
                        <!-- map -->
                            
                            
                        	<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=GaqiVXmYjIDWOzLzZLI2pHtC"></script>
                            <script src="public/js/jquery-1.9.1.min.js"></script>
                            <div style="width:100%;height:430px;margin-left:auto;margin-right:auto;">
                                    <ul class="mapbtn sub_nav">
                                        <li rel="1" id="around_bus">公交</li>
                                        <li rel="2">地铁</li>
                                        <li rel="3">教育设施</li>
                                        <li rel="4">医院</li>
                                        <li rel="5">银行</li>
                                        <li rel="6">休闲娱乐</li>
                                        <li rel="7">购物</li>
                                        <li rel="8">餐饮</li>
                                        <li rel="9">运动健身</li>
                                    </ul>
                                   
                                    <div>
                                        <div id="allmap" class="col-md-9 col-sm-12 col-xs-12" style="border-right:2px solid #bcbcbc;height:430px;"></div>
                                        <div id="r-result" class="col-md-3 col-sm-12 col-xs-12" style="height:430px;overflow-y:auto;"></div>
                                    </div>
                                </div>
                                <script type="text/javascript">
									ilo="116.311165";
									iloa="39.948399";
									itxt="北京大学西校区";
									mapshown=0;
									$(function(){
										
										$(".mapbtn li").click(function(){
											inimap(ilo,iloa,$(this).attr("rel"),itxt);
											$(".mapbtn li").removeClass("on");
											$(this).addClass("on");
										})
										//这里有个bootstrap的tab,当触发这个tab时加载这个地图显示这个tab时触发这个事件
										$("#around").on('shown.bs.tab', function (e) {
											if(mapshown==0)
											{
												inimap(ilo,iloa,1,itxt);
												$("#around_bus").addClass("on");
												mapshown = 1;
											}
										})
									})
									
								 
							</script>
                            <script type="text/javascript" charset="utf-8" src="public/js/map.js"></script>

map.js

// JavaScript Document

var ilo;
var iloa;
var itxt;



//116.3333333,39.38888888
function inimap(lo,loa,i,txt)
{
	ilo=lo;
	iloa=loa;
	itxt=txt;
	// 百度地图API功能
	var mp = new BMap.Map("allmap");
	mp.centerAndZoom(new BMap.Point(lo,loa), 15);
	mp.enableScrollWheelZoom();
	mp.addControl(new BMap.NavigationControl()); 
	// 复杂的自定义覆盖物
	function ComplexCustomOverlay(point, text){
	  this._point = point;
	  this._text = text;
	}
	ComplexCustomOverlay.prototype = new BMap.Overlay();
	ComplexCustomOverlay.prototype.initialize = function(map){
	  this._map = map;
	  var div = this._div = document.createElement("div");
	  
	  div.style.position = "absolute";
	  div.style.zIndex = BMap.Overlay.getZIndex(this._point.lat);
	  div.style.color = "white";
	  div.style.background = "url(img/2.png) no-repeat";
	  div.style.height = "50px";
	  div.style.padding = "2px";
	  div.style.width = "130px";
	  div.style.lineHeight = "28px";
	  div.style.whiteSpace = "nowrap";
	  div.style.MozUserSelect = "none";
	  div.style.fontSize = "12px"
	  div.style.top = "25px";
	  div.style.left = "0px";
	  div.style.overflow = "hidden";
	  var span = this._span = document.createElement("span");
	  span.style.display="block";
	  span.style.width="130px";
	  span.style.textAlign="center";
	  div.appendChild(span);
	  span.appendChild(document.createTextNode(this._text));      
	  var that = this;


	  var arrow = this._arrow = document.createElement("div");
	  
	  arrow.style.left = "0px";
	  
	  mp.getPanes().labelPane.appendChild(div);
	  
	  return div;
	}
	ComplexCustomOverlay.prototype.draw = function(){
	  var map = this._map;
	  var pixel = map.pointToOverlayPixel(this._point);
	  this._div.style.left = pixel.x - 65 + "px";
	  this._div.style.top  = pixel.y - 40 + "px";
	}

		
	var myCompOverlay = new ComplexCustomOverlay(new BMap.Point(lo,loa),txt);

	mp.addOverlay(myCompOverlay);
	
	var txt="";

	switch(i)
	{
		case "1":
		  txt="公交";
		  break;
		case "2":
		  txt="地铁";
		  break;
		  case "3":
		  txt="学校";
		  break;
		case "4":
		  txt="医院";
		  break;
		  case "5":
		  txt="银行";
		  break;
		case "6":
		  txt="娱乐";
		  break;
		  case "7":
		  txt="购物";
		  break;
		case "8":
		  txt="餐饮";
		  break;
		case "9":
		  txt="健身";
		  break;
		default:
		  txt="公交";
		  break;
	}

	var local = new BMap.LocalSearch(mp, {
	  renderOptions:{map: mp, panel: "r-result"}
	});

	local.searchInBounds(txt, mp.getBounds());

	mp.addEventListener("dragend",function(){
		mp.clearOverlays();
		local.searchInBounds(txt, mp.getBounds());
	});

	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值