您好,登錄后才能下訂單哦!
這兩天在學(xué)習(xí)百度地圖的API,結(jié)合所給的Demo,實(shí)現(xiàn)了一個(gè)比較簡(jiǎn)單的功能。在地圖上制作自己公司的地址標(biāo)簽。
首先獲取標(biāo)簽的Point對(duì)象。
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>根據(jù)地址查詢(xún)經(jīng)緯度</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script> <div > 要查詢(xún)的地址:<input id="text_" type="text" value="廣州白云山" /> 查詢(xún)結(jié)果(經(jīng)緯度):<input id="result_" type="text" /> <input type="button" value="查詢(xún)" onclick="searchByStationName();"/> <!--地圖顯示容器--> <div id="container" style="position: absolute; margin-top:30px; width: 730px; height: 590px; top: 50; border: 1px solid gray; overflow:hidden;"> </div> <script type="text/javascript"> var map = new BMap.Map("container"); map.enableScrollWheelZoom(); //啟用滾輪放大縮小,默認(rèn)禁用 map.enableContinuousZoom(); //啟用地圖慣性拖拽,默認(rèn)禁用 map.addControl(new BMap.NavigationControl()); //添加默認(rèn)縮放平移控件 map.addControl(new BMap.OverviewMapControl()); //添加默認(rèn)縮略地圖控件 map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT })); //右下角,打開(kāi) map.centerAndZoom("廣州", 12); //查詢(xún)函數(shù) var localSearch = new BMap.LocalSearch(map); localSearch.enableAutoViewport(); //允許自動(dòng)調(diào)節(jié)窗體大小 function searchByStationName() { var keyword = document.getElementById("text_").value; localSearch.setSearchCompleteCallback(function (searchResult) { var poi = searchResult.getPoi(0); document.getElementById("result_").value = poi.point.lng + "|" + poi.point.lat; //獲取經(jīng)度和緯度,將結(jié)果顯示在文本框中 map.centerAndZoom(poi.point, 13); }); localSearch.search(keyword); } </script> </body> </html>
然后就是制作標(biāo)簽了。這里以廣州白云山為例。查詢(xún)結(jié)果如下
這樣就可以查到自己公司所在地址的經(jīng)緯度。
在把下面的標(biāo)注點(diǎn)數(shù)組變量修改成自己的公司即可。其中的piont為自己公司的point。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb-2312" /> </head> <body> !-- 百度地圖 ---> <script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script> <div id="dituContent"></div> <script type="text/javascript"> //創(chuàng)建和初始化地圖函數(shù): function initMap(){ createMap();//創(chuàng)建地圖 setMapEvent();//設(shè)置地圖事件 addMapControl();//向地圖添加控件 addMarker();//向地圖中添加marker } //創(chuàng)建地圖函數(shù): function createMap(){ var map = new BMap.Map("dituContent");//在百度地圖容器中創(chuàng)建一個(gè)地圖 var point = new BMap.Point(113.388275,22.94326);//定義一個(gè)中心點(diǎn)坐標(biāo) map.centerAndZoom(point,18);//設(shè)定地圖的中心點(diǎn)和坐標(biāo)并將地圖顯示在地圖容器中 window.map = map;//將map變量存儲(chǔ)在全局 } //地圖事件設(shè)置函數(shù): function setMapEvent(){ map.enableDragging();//啟用地圖拖拽事件,默認(rèn)啟用(可不寫(xiě)) map.enableScrollWheelZoom();//啟用地圖滾輪放大縮小 map.enableDoubleClickZoom();//啟用鼠標(biāo)雙擊放大,默認(rèn)啟用(可不寫(xiě)) map.enableKeyboard();//啟用鍵盤(pán)上下左右鍵移動(dòng)地圖 } //地圖控件添加函數(shù): function addMapControl(){ } //標(biāo)注點(diǎn)數(shù)組 var markerArr = [{title:"明珠電氣股份有限公司",content:"電話(huà):200-XXX-XXX<br/>地址:廣州市番禺區(qū)東環(huán)路118號(hào)",point:"113.38714|22.957759",isOpen:1,icon:{w:23,h:25,l:23,t:21,x:9,lb:12}} ];//這里的point是通過(guò)上一頁(yè)面中查詢(xún)出來(lái)的。 //創(chuàng)建marker function addMarker(){ for(var i=0;i<markerArr.length;i++){ var json = markerArr[i]; var p0 = json.point.split("|")[0]; var p1 = json.point.split("|")[1]; var point = new BMap.Point(p0,p1); var iconImg = createIcon(json.icon); var marker = new BMap.Marker(point,{icon:iconImg}); var iw = createInfoWindow(i); var label = new BMap.Label(json.title,{"offset":new BMap.Size(json.icon.lb-json.icon.x+10,-20)}); marker.setLabel(label); map.addOverlay(marker); label.setStyle({ borderColor:"#808080", color:"#333", cursor:"pointer" }); (function(){ var index = i; var _iw = createInfoWindow(i); var _marker = marker; _marker.addEventListener("click",function(){ this.openInfoWindow(_iw); }); _iw.addEventListener("open",function(){ _marker.getLabel().hide(); }) _iw.addEventListener("close",function(){ _marker.getLabel().show(); }) label.addEventListener("click",function(){ _marker.openInfoWindow(_iw); }) if(!!json.isOpen){ label.hide(); _marker.openInfoWindow(_iw); } })() } } //創(chuàng)建InfoWindow function createInfoWindow(i){ var json = markerArr[i]; var iw = new BMap.InfoWindow("<b class='iw_poi_title' title='" + json.title + "'>" + json.title + "</b><div class='iw_poi_content'>"+json.content+"</div>"); return iw; } //創(chuàng)建一個(gè)Icon function createIcon(json){ var icon = new BMap.Icon("http://app.baidu.com/map//Public/Home//Public/Home//Public/Home/p_w_picpaths/us_mk_icon.png", new BMap.Size(json.w,json.h),{p_w_picpathOffset: new BMap.Size(-json.l,-json.t),infoWindowOffset:new BMap.Size(json.lb+5,1),offset:new BMap.Size(json.x,json.h)}) return icon; } initMap();//創(chuàng)建和初始化地圖 </script> </body> </html>
實(shí)現(xiàn)效果圖如下:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。