码迷,mamicode.com
首页 > 其他好文 > 详细

leaflet地图应用-动态标绘polygon

时间:2016-08-11 22:51:49      阅读:5326      评论:0      收藏:0      [点我收藏+]

标签:leaflet   polygon   二维地图   

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

  具体实现代码:

 //定义地图对象

 map = L.map(‘_MainMap‘, {

                    maxZoom: 16

                });

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

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

                    attribution: ‘&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> 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);

        }

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


leaflet地图应用-动态标绘polygon

标签:leaflet   polygon   二维地图   

原文地址:http://speciallst.blog.51cto.com/9749849/1837082

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!