BIGEMPA Js API示例中心
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>繪制</title>
<script src="https://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
<link href="http://ua.bigemap.com:30081/bmsdk/bigemap.js/v2.1.0/bigemap.css" rel="stylesheet"/>
<script src="http://ua.bigemap.com:30081/bmsdk/bigemap.js/v2.1.0/bigemap.js"></script>
<link href="http://www.bt68f.cn/Public/css/button.min.css" rel="stylesheet">
<!--
以下CSS地址請在安裝軟件了替換成本地的地址
CSS地址請使用:
http://localhost:9000/bigemap.js/v2.1.0/bigemap.css
JS地址請使用:
http://localhost:9000/bigemap.js/v2.1.0/bigemap.js
軟件下載地址 http://www.bt68f.cn/reader/download/detail201802017.html
-->
<!--<link href='http://www.bt68f.cn:9000/bigemap.js/v2.1.0/bigemap.css' rel='stylesheet' />-->
<!--<script src='http://www.bt68f.cn:9000/bigemap.js/v2.1.0/bigemap.js'></script>-->
<!--引入鼠標繪制的JS+CSS-->
<!--對應下面的CSS+JS的下載地址 請直接訪問 http://bigemap.com/Public/mouse_draw/mouse_draw.zip 來下載-->
<link rel="stylesheet" href="http://www.bt68f.cn/Public/mouse_draw/Bigemap.draw.css"/>
<script src="http://www.bt68f.cn/Public/js/bm.draw.min.js"></script>
</head>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
html, body, #map {
width: 100%;
height: 100%;
}
#edit_line {
position: absolute;
z-index: 10;
right: 20px;
top: 23px;
display: inline-block;
width: 150px;
}
#edit_area {
position: absolute;
z-index: 10;
right: 20px;
top: 50px;
display: inline-block;
width: 150px;
}
#edit_area button {
display: inline-block;
width: 150px;
}
#edit_poly {
position: absolute;
z-index: 10;
right: 20px;
top: 50px;
display: inline-block;
width: 150px;
}
.info {
position: fixed;
top: 0;
color: #8a6d3b;
z-index: 99;
margin: 0;
background-color: #fcf8e3;
border-color: #faebcc;
left: 0;
right: 0;
text-align: center;
}
</style>
<body>
<p class="info">
右鍵可以停止 編輯
</p>
<div id="edit_area">
<button data-type="polyline" class="button button-tiny button-rounded button-primary">編輯線段</button>
<button data-type="polygon" class="button button-tiny button-rounded button-primary">編輯多邊形</button>
<button data-type="circle" class="button button-tiny button-rounded button-primary">編輯圓</button>
</div>
<div id="map">
</div>
<script>
BM.Config.HTTP_URL = "http://ua.bigemap.com:30081/bmsdk/"
var overlay = {}, current = '';
// 在ID為map的元素中實例化一個地圖,并設置地圖的ID號為 bigemap.zhongkexingtu,ID號程序自動生成,無需手動配置,并設置地圖的投影為百度地圖 ,中心點,默認的級別和顯示級別控件
var map = BM.map('map', 'bigemap.dc-tian-w-satellite', {
center: [30, 104],
zoom: 7,
zoomControl: true,
attributionControl: false
});
overlay.polyline = new BM.Polyline([
{lat: 30.325204431530345, lng: 107.60390873998405},
{lat: 29.669469569529078, lng: 107.32571404427291},
{lat: 28.667997369204706, lng: 106.05318825691938},
{lat: 28.432166294982455, lng: 104.6611174196005},
{lat: 28.40607779623456, lng: 103.55960089713336}
]).addTo(map);
overlay.polygon = new BM.Polygon([
{lat: 30.280196656341005, lng: 101.70201860368253},
{lat: 31.17443221616588, lng: 102.44943223893644},
{lat: 31.612013574947458, lng: 105.5988347902894},
{lat: 30.606585065678747, lng: 105.95238883048297},
{lat: 29.78231117982432, lng: 105.75116749852897},
{lat: 29.212533460366416, lng: 104.35137156397104},
{lat: 28.97377253153283, lng: 102.9155958071351},
{lat: 29.17605844636225, lng: 101.755267996341}
]).addTo(map);
overlay.circle=BM.circle({lat: 28.40607779623456, lng: 103.55960089713336},{radius:50000}).addTo(map);
map.on('contextmenu', function (e) {
if (!current) return;
//停止編輯。這里可以進行保存數據庫的操作
switch (current) {
case 'polygon':
case 'polyline':
console.log(overlay[current].getLatLngs());
overlay[current].editing.disable();
break;
case 'circle':
console.log(overlay[current].getLatLng());
console.log(overlay[current].getRadius());
overlay[current].editing.disable();
break;
}
});
[...document.querySelectorAll('.button')].map(v=>{
v.onclick=function (){
overlay[current]&&overlay[current].editing.disable();
var c=this.dataset;
current=c['type'];
overlay[current].editing.enable();
}
});
map.on(BM.Draw.Event.EDITVERTEX,function (e){
console.log('edit');
console.log(e.poly);
}).on(BM.Draw.Event.EDITMOVE,function (e){
console.log('move');
console.log(e.poly);
}).on(BM.Draw.Event.EDITRESIZE,function (e){
console.log('resize');
console.log(e.layer);
});
</script>
</body>
</html>