标题 | 如何在帝国cms中标注百度地图? |
范文 | 第一步,确定一个放具体地址的字段,可以新建立一个地段如address,具体是在系统>>管理数据表里面可以添加自定义字段 ,我是用帝国本身空余下来的字段ftitle,也就是副标题,这个字段我没有派送用场,空在那里就利用起来吧: 第二步,建立一个新的模板变量,变量名自定义,我的变量名:[!--temp.ditu--] 变量标识:百度地图 接下来在模板变量中加入下面的代码: <!doctype html> <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=uft-8″> <title>百度地图坐标采集</title> <!–[if IE 6]> <script type=”text/javascript” src=”http://dev.baidu.com/wiki/static/map/tuan/js/DD_belatedPNG_0.0.8a-min.js”></script> <script>DD_belatedPNG.fix(“#float_search_bar”);</script> <![endif]–> <style> #preview{ border: 1px solid #bfd2e1; width: 300px; height: 300px; font-family: Arial, Helvetica, sans-serif,”宋体”; } #map_container{ height: 300px; } #float_search_bar{ z-index: 2012; position: absolute; width: 180px; height: 31px; background: url(“/uploads/202504/02/developer.baidu3427.com repeat-x; background-position: 0 -21px; padding: 3px 0 0 10px; } #float_search_bar label, #float_search_bar span{ color: #0787cb; font-size: 14px; } #float_search_bar input{ width: 180px; height: 16px; margin-top: 1px; } #float_search_bar input:focus{ outline: none; } #float_search_bar button{ border: 0; color: white; width: 77px; height: 20px; background: url(“/uploads/202504/02/developer.baidu3427.com no-repeat; background-position: 0 0; margin-right: 5px; cursor: pointer; } </style> </head> <body> <div id=”preview”> <div id=”float_search_bar”> <label>区域:</label> <input type=”text” id=”keyword” /> <button id=”search_button”>查找</button> <span>点击地图或标注获取坐标</span> </div> <div id=”map_container”></div> </div> <div id=”result” style=”margin-top: 4px;”></div> <script type=”text/javascript” src=”http://api.map.baidu.com/api?v=1.2″></script> <script type=”text/javascript”> function getUrlParas(){ var hash = location.hash, para = {}, tParas = hash.substr(1).split(“&”); for(var p in tParas){ if(tParas.hasOwnProperty(p)){ var obj = tParas[p].split(“=”); para[obj[0]] = obj[1]; } } return para; } var para = getUrlParas(), center = para.address?decodeURIComponent(para.address) : “[!--ftitle--]“, city = para.city?decodeURIComponent(para.city) : “[!--city--]“; document.getElementById(“keyword”).value = center; var marker_trick = false; var map = new BMap.Map(“map_container”); map.enableScrollWheelZoom(); var marker = new BMap.Marker(new BMap.Point(116.404, 39.915), { enableMassClear: false, raiseOnDrag: true }); marker.enableDragging(); map.addOverlay(marker); map.addEventListener(“click”, function(e){ if(!(e.overlay)){ map.clearOverlays(); marker.show(); marker.setPosition(e.point); setResult(e.point.lng, e.point.lat); } }); marker.addEventListener(“dragend”, function(e){ setResult(e.point.lng, e.point.lat); }); var local = new BMap.LocalSearch(map, { renderOptions:{map: map}, pageCapacity: 1 }); local.setSearchCompleteCallback(function(results){ if(local.getStatus() !== BMAP_STATUS_SUCCESS){ alert(“没有获取到数据”); } else { marker.hide(); } }); local.setMarkersSetCallback(function(pois){ for(var i=pois.length; i–; ){ var marker = pois[i].marker; marker.addEventListener(“click”, function(e){ marker_trick = true; var pos = this.getPosition(); setResult(pos.lng, pos.lat); }); } }); window.onload = function(){ local.search(center); document.getElementById(“search_button”).onclick = function(){ local.search(document.getElementById(“keyword”).value); }; document.getElementById(“keyword”).onkeyup = function(e){ var me = this; e = e || window.event; var keycode = e.keyCode; if(keycode === 9){ local.search(document.getElementById(“keyword”).value); } }; }; function a(){ document.getElementById(“float_search_bar”).style.display = “none”; } a(); /* * setResult : 定义得到标注经纬度后的操作 * 请修改此函数以满足您的需求 * lng: 标注的经度 * lat: 标注的纬度 */ function setResult(lng, lat){ document.getElementById(“result”).innerHTML = lng + “, ” + lat; } </script> </body> </html> 需要修改的地方已经用红色标注,注意查看 以上代码是一个完整的html代码,实际应用中您可以把head中的内容提取出来,放到内容页面模板的head中,然后去掉head body html这些标签即可。 |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。