开发场景是Bex5的.w文件,对应的就是前端代码,应用场景是智能围栏,需要后端代码请联系微信p(去掉这个)99(去掉这个)5876(去掉这个)459,有任何问题,发个小红包可解答。
Model.prototype.loadBaiduMap = function() {
var me = this;
var id = this.getIDByXID("baiduMap");
window._baiduInit = function() {
var map = new window.BMap.Map(id); // 创建Map实例
var mPoint = new window.BMap.Point(me._lng, me._lat); //绘制中心点
// map.enableScrollWheelZoom();
map.centerAndZoom(mPoint,me._zoom);//设置中心点和缩放比例
//画圆
var circle = new window.BMap.Circle(mPoint,me._range,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3});
map.addOverlay(circle);
//将当前的位置以红色标记在地图上显示
var marker = new window.BMap.Marker(new window.BMap.Point(me._lng, me._lat));
map.addOverlay(marker);
// var local = new window.BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}});
// local.searchNearby('义务小商品城',mPoint,1000); //这是搜索地图上带有这个名称的地点显示出来
//右下角的缩放按钮
map.addControl(new window.BMap.NavigationControl({
anchor : window.BMAP_ANCHOR_BOTTOM_RIGHT,
// 右下角,仅包含平移和缩放按钮
type : window.BMAP_NAVIGATION_CONTROL_SMALL
}));
//禁止拖曳
map.disableDragging();
//触发touchmove时让他可以拖曳
map.addEventListener("touchmove", function (e) {
map.enableDragging();
});
//拖动完成后再次禁止拖曳
map.addEventListener('touchend',function(e){
map.disableDragging();
});
//设置监听事件,将当前单击位置作为中心点,并且传入设置好的缩放比例,写入全局变量zoom,lng,lat
map.addEventListener("click",function(e){
//保持当前缩放比例
me._zoom = map.getZoom();
//设置点击处为中心点
me._lng = e.point.lng;
me._lat = e.point.lat;
window._baiduInit();
});
};
//引入支持 必须是2.0版本,并且ak是安卓的ak
require([ 'http://api.map.baidu.com/api?v=2.0&ak=2X1O69GgxQNPGGCuBqStGRd5R5BhSkcH&callback=_baiduInit' ], function() {
if (window.BMap && window.BMap.Map) {
window._baiduInit();
}
});
};
代码如上,如需了解更多java相关知识,可以访问我的博客:www.fengchuiyun.top,谢谢。