BIGEMPA Js API示例中心
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8' />
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<!--
以下CSS地址請在安裝軟件了替換成本地的地址
CSS地址請使用:
http://localhost:9000/bigemap.js/v2.1.0/bigemap.css
軟件下載地址 http://www.bt68f.cn/reader/download/detail201802017.html
-->
<link href="http://ua.bigemap.com:30081/bmsdk/bigemap.js/v2.1.0/bigemap.css" rel="stylesheet"/>
<!--
JS地址請使用:
http://localhost:9000/bigemap.js/v2.1.0/bigemap.js
-->
<script src="http://ua.bigemap.com:30081/bmsdk/bigemap.js/v2.1.0/bigemap.js"></script>
<style>
body { margin: 0; padding: 0; }
#map { position: absolute; top: 0; bottom: 0; width: 100%; }
</style>
<title>Google Map Streets</title>
</head>
<body>
<div id='map'></div>
<script>
// 軟件配置信息地址,軟件安裝完成之后使用本地地址,如:http://localhost:9000
BM.Config.HTTP_URL = "http://ua.bigemap.com:30081/bmsdk/"
// 在ID為map的元素中實例化一個地圖,并設置地圖的ID號為 bigemap.baidu-map,ID號程序自動生成,無需手動配置,并設置地圖的投影為百度地圖 ,中心點,默認的級別和顯示級別控件
var map = BM.map('map', 'bigemap.dc-tian-w-satellite', {center: [0, 0], zoom: 2, zoomControl: true,attributionControl:false });
var latlngs = [
[30, 102.68],
[37, 108.43],
[37.04, 118.2]
];
//創建多邊形,并設置填充顏色 ,具體詳細API請參見:http://www.bt68f.cn/offlinemaps/api/#polygon
var polygon = BM.polygon(latlngs, {color: '#369'}).addTo(map);
// 讓地圖適配當前的線段
map.fitBounds(polygon.getBounds());
map.on('click',function(e){
var p=map.project([e.latlng.lat,e.latlng.lng]);
var ps=latlngs.map(v=>{
return [map.project(v).x,map.project(v).y];
});
if(isIn([p.x,p.y],ps)){
alert('在內部');
}else{
alert('在外部');
}
});
function isIn(a, b,c) {
var d = a[0];
a = a[1];
var e = !1, f, h, k, l, m = b.length, n = 0;
for (l = m - 1; n < m; l = n,
n += 1) {
var p = !1;
f = b[n][0];
h = b[n][1];
k = b[l][0];
l = b[l][1];
if (f === d && h === a || k === d && l === a)
return c ? !0 : !1;
if (h < a === l >= a) {
f = (k - f) * (a - h) / (l - h) + f;
if (d === f)
return c ? !0 : !1;
p = d < f
}
p && (e = !e)
}
return e
}
</script>
</body>
</html>