百度地图api之Marker类--标记点固定

一.首先引入所申请的ak密钥
<script type="text/javascript" src="http://api.map.baidu.com/api?ak=PlhFWpA02aoURjAOpnWcRGqw7AI8EEyO&v=2.0&services=false"></script> 
二.简单样式处理一下
 body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
//下面的样式就是处理图片固定位置的
#map span{display:block; width:20px; height:32px;background:url(http://wx.58haha.cn/1.png);position:fixed; left:50%; top:50%; margin-left:-10px; margin-top:-16px;z-index:999;}
三.html代码布局
//id为map的div是用来标记点位置的
<div id="map"><span></span></div>
//下面的代码是用来显示地图的
<div id="allmap"></div>
四.js代码如下
// 创建Map实例
var map = new BMap.Map("allmap");
//设置中心点坐标
var point = new BMap.Point(116.331398,39.897445);
//初始化地图,并设置地图级别
map.centerAndZoom(point,18);
//进行浏览器定位
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
// 定位成功事件
if(this.getStatus() == BMAP_STATUS_SUCCESS){
//创建一个图像标注实例。point参数指定了图像标注所在的地理位置
var mk = new BMap.Marker(r.point);
//将覆盖物添加到地图中,一个覆盖物实例只能向地图中添加一次。
//map.addOverlay(mk);
//将地图的中心点更改为给定的点
map.panTo(r.point);
//alert('您的位置:'+r.point.lng+','+r.point.lat);
//addEventListener--添加事件监听函数
//dragend--拖拽结束时触发此事件
map.addEventListener("dragend",function(){
    var centerPoint=map.getCenter();
    //alert(centerPoint.lng + " " +centerPoint.lat);
//清空原来的标注
map.clearOverlays();
// 创建点坐标
var marker = new BMap.Marker(new BMap.Point(centerPoint.lng, centerPoint.lat));
//增加点  
//map.addOverlay(marker); 
//根据定位获得的坐标进行设置中心点坐标
var point = new BMap.Point(centerPoint.lng, centerPoint.lat);
//创建一个地址解析器的实例
var gc = new BMap.Geocoder();
//对指定的坐标点进行反地址解析
gc.getLocation(point, function(rs) {
var addComp = rs.addressComponents;
//返回地址
alert(addComp.province + ", " + addComp.city + ", "+ addComp.district + ", " + addComp.street + ", "+ addComp.streetNumber);
});
});
}else {
//定位失败
alert('failed'+this.getStatus());
}        
},{enableHighAccuracy: true})
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值