百度地图api应用标注地理位置信息(js版)


Posted in Javascript onFebruary 01, 2013

有时做了一些东西没有记录,而过一段时间再看的时候,有会忘记了。需要在重新在看一遍。

百度地图javascript api可以参考 http://developer.baidu.com/map/reference/ 
示例:http://developer.baidu.com/map/jsdemo.htm

更多百度地图的介绍http://www.cnblogs.com/milkmap/tag/%E5%9C%B0%E5%9B%BEAPI/   
里面介绍的非常详细。

弄了一个百度地图来标注地理位置信息,通过百度api来获取地址。这地图api是javascript版

添加显示显示的div控件

 
<div> 
<p>搜索: 
<input id="txtarea" type="text" size="50" />  <input id="areaSearch" 
type="button" value="搜索" style="cursor: pointer" /> 
</p> 
<p> 纬度:<input name="txtlatitude" type="text" id="txtlatitude" style="width:200px;" /> 
经度:<input name="txtLongitude" type="text" id="txtLongitude" style="width:200px;" /> 
标注点所在区域:<input name="txtAreaCode" type="text" id="txtAreaCode" style="width:200px;" /> 
</p> 
</div> 
<div style="width: 420px; height: 340px; border: 1px solid gray; float: left;" id="container"> 
</div> 
<div style="width: 350px; height: 340px;" id="Div1"> 
<div> 
<div class="sel_container"> 
<strong id="curCity">北京市</strong> [<a id="curCityText" href="javascript:void(0)">更换城市</a>]</div> 
<div class="map_popup" id="cityList" style="display: none;"> 
<div class="popup_main"> 
<div class="title"> 
城市列表</div> 
<div class="cityList" id="citylist_container"> 
</div> 
<button id="popup_close"> 
</button> 
</div> 
</div> 
</div> 
</div>

在引用引用
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js"></script> //jquery库 
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script> //百度地图的文件 
<script type="text/javascript" src="http://api.map.baidu.com/library/CityList/1.2/src/CityList_min.js"></script> //城市选择的

添加代码
<script type="text/javascript"> 
var map = new BMap.Map("container"); 
map.centerAndZoom(new BMap.Point(117.10, 40.13), 11); 
map.addControl(new BMap.NavigationControl()); 
map.addControl(new BMap.ScaleControl()); 
map.addControl(new BMap.OverviewMapControl()); 
map.addControl(new BMap.MapTypeControl()); 
//搜索 
document.getElementById("areaSearch").onclick = function () { 
// 创建地址解析器实例 
var myGeo = new BMap.Geocoder(); 
var searchTxt = document.getElementById("txtarea").value; 
// 将地址解析结果显示在地图上,并调整地图视野 
myGeo.getPoint(searchTxt, function (point) { 
if (point) { 
map.centerAndZoom(point, 16); 
document.getElementById("txtlatitude").value = point.lat; 
document.getElementById("txtLongitude").value = point.lng; 
var pointMarker = new BMap.Point(point.lng, point.lat); 
geocodeSearch(pointMarker); map.addOverlay(new BMap.Marker(point)); 
} 
else 
alert("搜索不到结果"); 
}, "全国"); 
} 
map.enableScrollWheelZoom(); 
// 创建CityList对象,并放在citylist_container节点内 
var myCl = new BMapLib.CityList({ container: "citylist_container", map: map }); 
// 给城市点击时,添加相关操作 
myCl.addEventListener("cityclick", function (e) { 
// 修改当前城市显示 
document.getElementById("curCity").innerHTML = e.name; 
// 点击后隐藏城市列表 
document.getElementById("cityList").style.display = "none"; 
}); 
// 给“更换城市”链接添加点击操作 
document.getElementById("curCityText").onclick = function () { 
var cl = document.getElementById("cityList"); 
if (cl.style.display == "none") { 
cl.style.display = ""; 
} else { 
cl.style.display = "none"; 
} 
}; 
// 给城市列表上的关闭按钮添加点击操作 
document.getElementById("popup_close").onclick = function () { 
var cl = document.getElementById("cityList"); 
if (cl.style.display == "none") { 
cl.style.display = ""; 
} else { 
cl.style.display = "none"; 
} 
}; 
map.addEventListener("click", function (e) { 
document.getElementById("txtlatitude").value = e.point.lat; 
document.getElementById("txtLongitude").value = e.point.lng; 
map.clearOverlays(); 
var pointMarker = new BMap.Point(e.point.lng, e.point.lat); // 创建标注的坐标 
addMarker(pointMarker); 
geocodeSearch(pointMarker); 
}); 
function addMarker(point) { 
var myIcon = new BMap.Icon("mk_icon.png", new BMap.Size(21, 25), 
{ offset: new BMap.Size(21, 21), 
imageOffset: new BMap.Size(0, -21) 
}); 
var marker = new BMap.Marker(point, { icon: myIcon }); 
map.addOverlay(marker); 
} 
function geocodeSearch(pt) { 
var myGeo = new BMap.Geocoder(); 
myGeo.getLocation(pt, function (rs) { 
var addComp = rs.addressComponents; 
document.getElementById("txtAreaCode").value = addComp.province + ", " + addComp.city + ", " + addComp.district; 
}); 
} 
</script>

效果图

百度地图api应用标注地理位置信息(js版)

 这标注的源码:百度地图标注源码

Javascript 相关文章推荐
getElementById在任意一款浏览器中都可以用吗的疑问回复
May 13 Javascript
javawscript 三级菜单的实现原理
Jul 01 Javascript
JavaScript CSS修改学习第五章 给“上传”添加样式
Feb 19 Javascript
悬浮数字的实现案例
Feb 19 Javascript
使用JavaScript 编写简单计算器
Nov 24 Javascript
JavaScript中window.open用法实例详解
Apr 15 Javascript
基于javascript实现右下角浮动广告效果
Jan 08 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
Dec 02 Javascript
通过jsonp获取json数据实现AJAX跨域请求
Jan 22 Javascript
ES6新特性之Symbol类型用法分析
Mar 31 Javascript
vue小白入门教程
Apr 02 Javascript
js 解析 JSON 数据简单示例
Apr 21 Javascript
jquery select动态加载选择(兼容各种浏览器)
Feb 01 #Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 #Javascript
js用Date对象处理时间实现思路及代码
Jan 31 #Javascript
document.all的一个比较完整的总结及案例
Jan 31 #Javascript
javascript对select标签的控制(option选项/select)
Jan 31 #Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
Jan 30 #Javascript
js+html+css实现鼠标移动div实例
Jan 30 #Javascript
You might like
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
用PHP 快速生成 Flash 动画的方法
2007/03/06 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
JS的数组迭代方法
2015/02/05 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
2020/06/17 Javascript
Python的Django框架中的Context使用
2015/07/15 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
pygame实现弹球游戏
2020/04/14 Python
基于python实现计算两组数据P值
2020/07/10 Python
英国钻石公司:British Diamond Company
2020/02/16 全球购物
函授教育个人学习的自我评价
2013/12/31 职场文书
交通事故委托书范本
2014/09/28 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
消防安全月活动总结
2015/05/08 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书