给标注加文本
var markers1 = new BMap.Marker(pt, { icon: littleIcons1 });
var markers2 = new BMap.Marker(pt, { icon: bigIcons2 });
// 点击事件
this.map.addOverlay(markers1);
var label = new BMap.Label(item.list.length, {
offset: new BMap.Size(10, 10)
});
label.setStyle({background: "none",color: "red",border: "none"});
markers1.setLabel(label);
常用事件和方法
【百度文档】
http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a1b2
定位api问题
使用浏览器定位时,第一次定位比较准确,移动后重新获取定位为什么还是第一次定位的位置?
使用浏览器定位Geolocation方法时,默认会有十分钟的缓存,导致你短时间内拿到的定位结果相同,如果想要每次重新获取定位数据如下,设maximumAge的值为10就可以解决了。
var geolocation = new BMap.Geolocation({
maximumAge:10 // 清除缓存
});
http://lbsyun.baidu.com/index.php?title=FAQ/jsapi
逆解析: 经纬度→省市区街
//获取定位名称
var new_point = new BMap.Point(lng, lat);
var gc = new BMap.Geocoder(); //初始化,Geocoder类
gc.getLocation(new_point, function (rs) { //getLocation函数用来解析地址信息,分别返回省市区街等
var addComp = rs.addressComponents,
province = addComp.province,//获取省份
city = addComp.city,//获取城市
district = addComp.district,//区
street = addComp.street,//街
streetNumber = addComp.streetNumber ? addComp.streetNumber + "号" : "";
location_name = province + city + district + street + streetNumber;
return location_name;
});