102 lines
4.4 KiB
JavaScript
102 lines
4.4 KiB
JavaScript
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
|
var Controller = {
|
|
index: function () {
|
|
//
|
|
// 初始化表格参数配置
|
|
Table.api.init({
|
|
extend: {
|
|
index_url: 'example/baidumap/index',
|
|
add_url: 'example/baidumap/add',
|
|
edit_url: 'example/baidumap/edit',
|
|
del_url: 'example/baidumap/del',
|
|
multi_url: 'example/baidumap/multi',
|
|
table: '',
|
|
}
|
|
});
|
|
|
|
var table = $("#table");
|
|
|
|
// 初始化表格
|
|
table.bootstrapTable({
|
|
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
|
pk: 'id',
|
|
sortName: 'id',
|
|
columns: [
|
|
[
|
|
{checkbox: true},
|
|
{field: 'id', title: 'ID', operate: false},
|
|
{field: 'admin_id', title: __('Admin_id'), visible: false, operate: false},
|
|
{field: 'username', title: __('Username'), formatter: Table.api.formatter.search},
|
|
{field: 'title', title: __('Title')},
|
|
{field: 'url', title: __('Url'), align: 'left'},
|
|
{field: 'ip', title: __('IP')},
|
|
{field: 'createtime', title: __('Create time'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
|
|
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
|
]
|
|
]
|
|
});
|
|
|
|
// 为表格绑定事件
|
|
Table.api.bindevent(table);
|
|
},
|
|
add: function () {
|
|
Controller.api.bindevent();
|
|
},
|
|
edit: function () {
|
|
Controller.api.bindevent();
|
|
},
|
|
map: function () {
|
|
Form.api.bindevent($("form[role=form]"));
|
|
require(['async!BMap'], function () {
|
|
// 更多文档可参考 http://lbsyun.baidu.com/jsdemo.htm
|
|
// 百度地图API功能
|
|
var map = new BMap.Map("allmap");
|
|
var point = new BMap.Point(116.404, 39.915);
|
|
|
|
map.centerAndZoom(point, 13); //设置中心坐标点和级别
|
|
var marker = new BMap.Marker(point); // 创建标注
|
|
map.addOverlay(marker); // 将标注添加到地图中
|
|
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
|
|
|
|
map.enableDragging(); //开启拖拽
|
|
//map.enableInertialDragging(); //开启惯性拖拽
|
|
map.enableScrollWheelZoom(true); //是否允许缩放
|
|
//map.centerAndZoom("上海",15); //根据城市名设定地图中心点
|
|
|
|
var geolocation = new BMap.Geolocation();
|
|
geolocation.getCurrentPosition(function (r) {
|
|
if (this.getStatus() == BMAP_STATUS_SUCCESS) {
|
|
var mk = new BMap.Marker(r.point);
|
|
map.addOverlay(mk);
|
|
map.panTo(r.point);
|
|
//Layer.alert('您的位置:' + r.point.lng + ',' + r.point.lat);
|
|
} else {
|
|
Layer.alert('failed' + this.getStatus());
|
|
}
|
|
}, {enableHighAccuracy: true});
|
|
|
|
// 点搜索按钮时解析地址坐标
|
|
$(document).on('click', '.btn-search', function () {
|
|
// 创建地址解析器实例
|
|
var myGeo = new BMap.Geocoder();
|
|
// 将地址解析结果显示在地图上,并调整地图视野
|
|
myGeo.getPoint($("#searchaddress").val(), function (point) {
|
|
if (point) {
|
|
map.centerAndZoom(point, 16);
|
|
map.addOverlay(new BMap.Marker(point));
|
|
} else {
|
|
Layer.alert("您选择地址没有解析到结果!");
|
|
}
|
|
});
|
|
});
|
|
|
|
});
|
|
},
|
|
api: {
|
|
bindevent: function () {
|
|
Form.api.bindevent($("form[role=form]"));
|
|
}
|
|
}
|
|
};
|
|
return Controller;
|
|
}); |