百度地图的定位以及拖拽(显示坐标位置)
2018-01-08 16:45
309 查看
截图示例
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title></title>
<style type="text/css">
html{height:100%}
body{height:100%;margin:0px;padding:0px}
#map_canvas{
margin:0 auto;
border:2px solid #f9f7f6;
width:80%;
height:80%;
}
</style>
</head>
<body>
<div id="map_canvas"></div>
<script src="jquery-2.1.4.min.js"></script>
<script src="http://api.map.baidu.com/api?v=2.0&ak=74af171e2b27ee021ed33e549a9d3fb9"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
<script type="text/javascript">
var map = new BMap.Map("map_canvas"); // 创建地图实例
var initLat = 39.916527;
var initLng = 116.397128;
var point = new BMap.Point(initLng, initLat); // 创建点坐标
map.centerAndZoom(point, 13); // 初始化地图,设置中心点坐标和地图级别
//var marker = new BMap.Marker(point); // 创建标注
//map.addOverlay(marker); // 将标注添加到地图中
map.enableScrollWheelZoom(); // 启用滚轮放大缩小
map.addControl(new BMap.NavigationControl()); // 启用放大缩小 尺
//获取当前位置
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
mk = new BMap.Marker(r.point);
mk.addEventListener("dragend", showInfo);
mk.enableDragging(); //可拖拽
getAddress(r.point);
map.addOverlay(mk);//把点添加到地图上
map.panTo(r.point);
}else {
alert('failed'+this.getStatus());
}
});
//绑定Marker的拖拽事件
function showInfo(e){
var gc = new BMap.Geocoder();
gc.getLocation(e.point, function(rs){
var addComp = rs.addressComponents;
var address = addComp.provi
4000
nce + addComp.city + addComp.district + addComp.street + addComp.streetNumber;//获取地址
alert(address);
//画图 ---》显示地址信息
var label = new BMap.Label(address,{offset:new BMap.Size(20,-10)});
map.removeOverlay(mk.getLabel());//删除之前的label
mk.setLabel(label);
//alert(e.point.lng + ", " + e.point.lat + ", "+address);
});
}
//获取地址信息,设置地址label
function getAddress(point){
var gc = new BMap.Geocoder();
gc.getLocation(point, function(rs){
var addComp = rs.addressComponents;
var address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;//获取地址
alert(address);
//画图 ---》显示地址信息
var label = new BMap.Label(address,{offset:new BMap.Size(20,-10)});
map.removeOverlay(mk.getLabel());//删除之前的label
mk.setLabel(label);
});
}
</script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title></title>
<style type="text/css">
html{height:100%}
body{height:100%;margin:0px;padding:0px}
#map_canvas{
margin:0 auto;
border:2px solid #f9f7f6;
width:80%;
height:80%;
}
</style>
</head>
<body>
<div id="map_canvas"></div>
<script src="jquery-2.1.4.min.js"></script>
<script src="http://api.map.baidu.com/api?v=2.0&ak=74af171e2b27ee021ed33e549a9d3fb9"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
<script type="text/javascript">
var map = new BMap.Map("map_canvas"); // 创建地图实例
var initLat = 39.916527;
var initLng = 116.397128;
var point = new BMap.Point(initLng, initLat); // 创建点坐标
map.centerAndZoom(point, 13); // 初始化地图,设置中心点坐标和地图级别
//var marker = new BMap.Marker(point); // 创建标注
//map.addOverlay(marker); // 将标注添加到地图中
map.enableScrollWheelZoom(); // 启用滚轮放大缩小
map.addControl(new BMap.NavigationControl()); // 启用放大缩小 尺
//获取当前位置
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
mk = new BMap.Marker(r.point);
mk.addEventListener("dragend", showInfo);
mk.enableDragging(); //可拖拽
getAddress(r.point);
map.addOverlay(mk);//把点添加到地图上
map.panTo(r.point);
}else {
alert('failed'+this.getStatus());
}
});
//绑定Marker的拖拽事件
function showInfo(e){
var gc = new BMap.Geocoder();
gc.getLocation(e.point, function(rs){
var addComp = rs.addressComponents;
var address = addComp.provi
4000
nce + addComp.city + addComp.district + addComp.street + addComp.streetNumber;//获取地址
alert(address);
//画图 ---》显示地址信息
var label = new BMap.Label(address,{offset:new BMap.Size(20,-10)});
map.removeOverlay(mk.getLabel());//删除之前的label
mk.setLabel(label);
//alert(e.point.lng + ", " + e.point.lat + ", "+address);
});
}
//获取地址信息,设置地址label
function getAddress(point){
var gc = new BMap.Geocoder();
gc.getLocation(point, function(rs){
var addComp = rs.addressComponents;
var address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;//获取地址
alert(address);
//画图 ---》显示地址信息
var label = new BMap.Label(address,{offset:new BMap.Size(20,-10)});
map.removeOverlay(mk.getLabel());//删除之前的label
mk.setLabel(label);
});
}
</script>
</body>
</html>
相关文章推荐
- 如何在Ubuntu手机中利用百度地图显示一个坐标位置
- iOS实现百度地图拖拽后更新位置以及反编码
- 原始经纬度转百度地图定位并显示地理位置
- ISO GPS定位,坐标转换以及如何显示
- IOS 百度地图定位使用(不显示用户当前坐标)
- 百度地图点击地图显示所选位置与自定义回到定位按钮
- 百度地图和谷歌地图使用的地理位置坐标标准以及转换
- js 百度地图 根据地理位置坐标地图定位到地理位置
- 百度地图定位 当前位置和地图显示
- 百度地图之地址解析和浏览器定位以及添加可拖拽标注
- 百度地图拖拽设置自定义坐标demo3个(后台添加、修改,前台显示)
- html5定位获取当前位置并在百度地图上显示
- android 通过百度地图定位获取坐标在导航地图上面显示,坐标发生偏移
- android百度地图-定位并显示位置信息
- js实现百度地图定位于地址逆解析,显示自己当前的地理位置
- 百度地图开发之定位以及反地理编码获取周围地理位置
- Android百度地图开发—定位显示以及自定义缩放功能(三)
- HTML5 调用 GPSAPI 获取当前位置的坐标 显示在地图上(有包括百度地图与谷歌地图)
- Android 百度地图开发(一)如何调用百度地图接口和在项目中显示百度地图以及实现定位
- html5定位获取当前位置并在百度地图上显示【转】