leaflet地图应用-动态标绘polygon-创新互联

leafletjs是一款优秀的开源二维地图,并提供了丰富的开发Api,下面列举一个在地图上动态标绘polygon的代码,实现起来的比较方便、简单。

创新互联公司2013年成立,公司以成都做网站、成都网站建设、系统开发、网络推广、文化传媒、企业宣传、平面广告设计等为主要业务,适用行业近百种。服务企业客户上千多家,涉及国内多个省份客户。拥有多年网站建设开发经验。为企业提供专业的网站建设、创意设计、宣传推广等服务。 通过专业的设计、独特的风格,为不同客户提供各种风格的特色服务。

 具体实现代码:

 //定义地图对象

 map = L.map('_MainMap', {

          maxZoom: 16

        });

 //加载OSM的开源在线地图

 L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {

          attribution: '© OpenStreetMap contributors'

        }).addTo(map);

 //点击按钮开始进行标绘:

 $(document).ready(function () {

      $("#_createBtn").click(function (e) {

        //注册地图的左键点击事件和双击事件

        map.on('click', MapLeftClick);

        map.on("dblclick", MapDoubleClick);

        //创建一个空的polygon,设置简单属性

        _polygon = L.polygon(_pointArr, {

          color: 'red',

          fillColor: '#f03',

          fillOpacity: 0.5

        });

        //将polygon加载到地图上

        _polygon.addTo(map);

      });

    });

    var _polygon = null;

    var _pointArr = new Array();

    //双击事件结束标绘polygon

    function MapDoubleClick(e)

    {

      map.off('click', MapLeftClick);

      map.off("dblclick", MapDoubleClick);

    }

    //左键点击事件修改polygon的点

    function MapLeftClick(e) {

    //在地图上标注每个点的位置

      L.circleMarker(e.latlng, {

        radius: 2,

        color: 'red'

      }).addTo(map);

    //给polygon上增加点

      _polygon.addLatLng(e.latlng);

    }

   代码比较简单,当然在标绘时也可以自定义各个实现的属性。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:leaflet地图应用-动态标绘polygon-创新互联
转载来源:http://pwwzsj.com/article/gcpch.html