zoukankan      html  css  js  c++  java
  • APP-5-百度电子围栏

    1.代码部分

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    
            <script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.js"></script>
            <script src="http://api.map.baidu.com/api?v=2.0&ak=PG4DBjFTHfawSwT10GLLn4YZhQCmGYGA"></script>
            <script src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script>
            <script src="../../js/mui.min.js"></script>    
            <script src="../../js/GeoUtils.js"></script>
            <link href="../../css/mui.min.css"  rel="stylesheet"/>
            <link href="../../css/iconfont.css" rel="stylesheet"/>
            
            <title>地图应用-电子围栏</title>
            
            <style type="text/css">
                body,
                html,
                #allmap {
                    width: 100%;
                    height: 95%;
                    /*overflow: hidden;*/
                    font-family: "微软雅黑";
                }
            </style>
        </head>
        <body>
            <header class="mui-bar mui-bar-nav"> 
                <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
                <h1 class="mui-title mui-body-font">电子围栏</h1>
            </header>
            <div id="allmap">
                地图加载中。。。
            </div>  
            <div class="mui-content-padded">
                <button type="button" class="mui-btn mui-btn-block mui-btn-primary" onclick="getGeocode()">
                    获取定位信息
                </button>    
            </div>
        </body>
        <script type="text/javascript">
            var exchange = {
                enableHighAccuracy: true,
                coordsType: 'bd09ll',
                timeout: 6000,
                maximumAge: 5000,
                provider: 'baidu'
            };
            
            getlocation();
    
            function getlocation(){
                // 获取位置信息
                navigator.geolocation.getCurrentPosition(getinfo,exception,exchange);
            }
            
            function initMap(point){ 
                // 百度地图
                map = new BMap.Map("allmap");
                map.addControl(new BMap.NavigationControl());
                map.addControl(new BMap.ScaleControl());
                map.addControl(new BMap.OverviewMapControl());
                map.addControl(new BMap.MapTypeControl()); 
                map.centerAndZoom(point, 18);
                // 地图滚动大小
                map.enableScrollWheelZoom(true);
                // 创建标注
                var marker = new BMap.Marker(point);  
                // 将标注添加到地图中
                map.addOverlay(marker);          
                // 跳动的动画
                //marker.setAnimation(BMAP_ANIMATION_BOUNCE); 
                //添加多边形围栏
                var polygon = new BMap.Polygon([
                    new BMap.Point(120.226000,30.215842),
                    new BMap.Point(120.226794,30.214405),
                    new BMap.Point(120.225867,30.214019),
                    new BMap.Point(120.223995,30.213591),
                    new BMap.Point(120.223787,30.214832)
                ], {
                    strokeColor: "blue",
                    strokeWeight: 6,
                    strokeOpacity: 0.5
                }); 
                //创建多边形
                map.addOverlay(polygon);
                
                //围栏范围
                if(BMapLib.GeoUtils.isPointInPolygon(point, polygon)) {
                    alert("在监控方位内");
                } else {
                    alert("你已经逃离监控区域");
                }
            }
            
            function getinfo(p){
                var curlat = p.coords.latitude;
                var curlon = p.coords.longitude;
                var curadd = p.addresses;
                //坐标
                console.log(curlat + ',' + curlon);
                var gpsPoint = new BMap.Point(curlon, curlat);
                //坐标转换   
                BMap.Convertor.translate(gpsPoint, 0, initMap); 
            }
            
            function exception(e){
                alert(e.Message);
            }
            
            function getGeocode(){
                getlocation();
            }
        </script>    
    </html>
    View Code

    2.模拟器测试

  • 相关阅读:
    前端性能优化
    CSS实现文字在容器中对齐方式
    spring里面的context:component-scan
    Builder模式
    idea无法新建maven项目
    Java-位运算
    pg数据库数据表异常挂起
    Java-多线程与单例
    Java-数据结构之二叉树练习
    Java-JNA使用心得
  • 原文地址:https://www.cnblogs.com/ricoo/p/10370739.html
Copyright © 2011-2022 走看看