如何利用框選工具獲取多邊形范圍?


我在地圖上畫了個框,如何知道他的面積,各個頂點的經緯度呢?我們需要用到鼠標工具插件,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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM