首先你得有个百度地图的秘钥,http://lbsyun.baidu.com/apiconsole/key
剩下的就是编码了
这里面会用到一个javascript里的一个函数,getMyLocation(),利用它我们就可以获得自己的经度纬度,然后再经过百度地图,将其显示出来。
上代码,首先是html文件中的代码,使用html5标准
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=WkiwWUQooPfVD2lgLGV8sv3x"></script>
<title>获取我的位置</title>
<script type="text/javascript" src="text.js">
</script>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
然后js中的代码
function map(position)
{
// 百度地图API功能
var map = new BMap.Map("allmap"); // 创建Map实例
alert(position.coords.longitude);
alert(position.coords.latitude);
map.centerAndZoom(new BMap.Point(position.coords.longitude, position.coords.latitude), 15); // 初始化地图,设置中心点坐标和地图级别 数字越大 放大倍数越大
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
map.setCurrentCity("我的位置"); // 设置地图显示的城市 此项是必须设置的
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
}
window.onload=getMyLocation; //没有了这句话 页面上讲不会显示出地图 function getMyLocation()
{
if(navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(map);
}
else
{
alert("很抱歉,获取您的地址信息失败");
}
}
在程序运行时,浏览器会提示是否运行获取你的地址信息,这里选择运行。
需要注意的一点是window.onload=getMyLocation; //没有了这句话 页面上讲不会显示出地图
这句话是指在完成了html的加载后再执行这个函数,且这里好像是要指向getMyLocation,而不能指向map函数,具体为什么我还不清楚,或者我还没学到那里,不过我的理解是,map函数的运行依赖于getMyLocation,而反之则不然,所以这里指向getMyLocation函数。
运行截图: