zoukankan      html  css  js  c++  java
  • 如何利用框选工具获取多边形范围?

    我在地图上画了个框,如何知道他的面积,各个顶点的经纬度呢?我们需要用到鼠标工具插件,AMap.MouseTool

    首先,插件的使用方法分为同步和异步。我们以同步加载插件的方法为例。

    <script src="http://webapi.amap.com/maps?v=1.3&key=您的Key&plugin=AMap.MouseTool"></script>
    <script>
        var mouseTool = new AMap.MouseTool(map); //在地图中添加MouseTool插件
            //......
    </script>

    然后使用鼠标工具的绘制矩形的方法rectangle,绘制出矩形

    var drawRectangle = mouseTool.rectangle(); //用鼠标工具画矩形

    再用自己的方式,打印出多边形的各个顶点,用到多边形的getPath方法。使用console.log或者alert等方法,打印出自己需要的数据即可。

        AMap.event.addListener( mouseTool,'draw',function(e){ //添加事件
            console.log(e.obj.getPath());//获取路径
        });

    当然别忘了创建地图

    var map = new AMap.Map('container');

    代码效果如下:

    全部源代码

    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
        <title>拉框获取边界经纬度</title>
        <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
        <script src="http://webapi.amap.com/maps?v=1.3&key=0250860ccb5953fa5d655e8acf40ebb7&plugin=AMap.MouseTool"></script>
    </head>
    <body>
    <div id="container"></div>
    <script>
        var map = new AMap.Map('container');
        var mouseTool = new AMap.MouseTool(map); //在地图中添加MouseTool插件
        var drawRectangle = mouseTool.rectangle(); //用鼠标工具画矩形
        AMap.event.addListener( mouseTool,'draw',function(e){ //添加事件
            console.log(e.obj.getPath());//获取路径
        });
    </script>
    </body>
    </html>

    在线示例

    http://zhaoziang.com/amap/getBounds.htm

  • 相关阅读:
    2015PPTV校招笔试详解
    2015华数校招笔试详解
    2015我的校招之路
    2015美团校招笔试试题
    关于联想超极本装入Ubuntu系统无法开启无线硬件开关的解决
    RabbitMQ
    office 2016 for mac 下拉框 无法展开问题
    mac 下 tomcat7的安装
    mac 10.11.6,Xcode8下,ruby2.3安装,Cocoapods安装~
    学习的学习的方法
  • 原文地址:https://www.cnblogs.com/milkmap/p/6365587.html
Copyright © 2011-2022 走看看