实例介绍
【实例简介】Asp.net中调用百度地图,已实现的基本功能包括:右键对地图进行缩放,地图测距,对地图进行标注(单击已标注取消标注),搜索位置(包括在可视区域搜索以及全国搜索),全国搜索会显示搜索面板,以及百度地图中四个角的缩放平移控件、比例尺控件、地图类型控件、版权控件和缩略图控件,经测试VS2010 和 2012均可以使用,大概功能就是这些
【实例截图】
【核心代码】
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BaiMap.aspx.cs" Inherits="_Default" %> <!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 name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> body, html { width: 100%; height: 100%; overflow: hidden; margin: 0; } #l-map { height: 100%; width: 78%; float: left; border-right: 2px solid #bcbcbc; } #r-result { height: 100%; width: 20%; float: left; } </style> <script type="text/javascript" src="jQueryPlugin/jQueryMin.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script> <script type="text/javascript"> $(function () { $("#btnSearchAll").click(function () { //获取要搜索的位置名称 var pname = $("#txtKey").val(); if (pname == "" || pname == null) { //当位置文本为空时 alert("请输入地址"); } else { //搜索位置 var local = new BMap.LocalSearch(map, { renderOptions: { map: map, panel: "r-result" } }); local.search(pname); } }); $("#btnSearchSelect").click(function () { //获取要搜索的位置名称 var pname = $("#txtKey").val(); if (pname == "" || pname == null) { //当位置文本为空时 alert("请输入地址"); } else { var local = new BMap.LocalSearch(map, { renderOptions: { map: map } }); local.searchInBounds(pname, map.getBounds()); map.addEventListener("dragend", function () { map.clearOverlays(); local.searchInBounds(pname, map.getBounds()); }); } }); }); </script> <title>百度地图的Hello, World</title> </head> <body> <div id="divOption"> 请输入要搜索的位置名称(如:北京):<input id="txtKey" type="text" style="width: 150px; height: 15px" /> <input id="btnSearchAll" value="搜索全图" type="button" /> <input id="btnSearchSelect" value="搜索可视区域" type="button" /> </div> <div id="r-result" style="float: left; height: 500px; width: 255px"> </div> <div id="allmap" style="width: 800px; height: 500px"> </div> </body> </html> <%--需引用测距类库才能进行测距--%> <script type="text/javascript" src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script> <script type="text/javascript"> /////////////实例化并在页面渲染地图//////////////////////////// var map = new BMap.Map("allmap"); // 创建Map实例 var point = new BMap.Point(116.404, 39.915); // 创建点坐标(显示位置的坐标点) var myDis = new BMapLib.DistanceTool(map); //创建测距尺实例 map.centerAndZoom(point, 10); // 初始化地图,设置中心点坐标(地图位置)和地图级别(地图缩放级别)******1-18依次放大****** map.enableScrollWheelZoom(); //启用滚轮放大缩小 map.enableDragging(); //////////////////////////////////////////////////////////////// ///////////鼠标测距//////////////////////////// ///////////////////////////////////////////// /////////////////////添加右键菜单部分/////////////////////////// var contextMenu = new BMap.ContextMenu(); var txtMenuItem = [ { text: '放大地图', callback: function () { map.zoomIn() } }, { text: '缩小地图', callback: function () { map.zoomOut() } }, { text: '放置到最大级', callback: function () { map.setZoom(18) } }, { text: '查看全国地图', callback: function () { map.setZoom(4) } }, { text: '折线测距', callback: function () { myDis.open() } }, { text: '在此添加标注', callback: function (p) { var marker = new BMap.Marker(p), px = map.pointToPixel(p); marker.addEventListener("click", function () { map.removeOverlay(marker); }); marker.enableDragging(); marker.addEventListener("dragend", function (e) { alert("当前位置:" e.point.lng ", " e.point.lat); }); map.addOverlay(marker); } } ]; for (var i = 0; i < txtMenuItem.length; i ) { contextMenu.addItem(new BMap.MenuItem(txtMenuItem[i].text, txtMenuItem[i].callback, 100)); if (i == 1 || i == 3) { contextMenu.addSeparator(); } } map.addContextMenu(contextMenu); ////////////////////////////////////////////////////////////////// ////////////////panTo方法:将地图平滑至新的中心点/////////////////////// // window.setTimeout(function () { // map.panTo(new BMap.Point(116.409, 39.918)); // }, 2000); //////////////////////////////////////////////////////////////// /////Map.addControl()方法:向百度地图添加控件////// map.addControl(new BMap.NavigationControl()); //地图平移缩放控件,PC端默认位于地图左上方,它包含控制地图的平移和缩放的功能。移动端提供缩放控件,默认位于地图右下方 map.addControl(new BMap.ScaleControl()); //比例尺控件,默认位于地图左下方,显示地图的比例关系。 map.addControl(new BMap.OverviewMapControl()); //缩略地图控件,默认位于地图右下方,是一个可折叠的缩略地图。 map.addControl(new BMap.CopyrightControl()); //版权控件,默认位于地图左下方 map.addControl(new BMap.MapTypeControl()); //地图类型控件,默认位于地图右上方。 // map.setCurrentCity("北京"); // 仅当设置城市信息时,MapTypeControl的切换功能才能可用 /////////////////////////////////////////////////////// //////////获取当前ip所在城市并将地图跳转至本市////////////////////// function myFun(result) { var cityName = result.name; map.setCenter(cityName); } var myCity = new BMap.LocalCity(); myCity.get(myFun); ///////////////////////////////////////// </script>
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论