您的位置:首页 > 其它

利用百度api判断已知经纬度的一个点是否在多边形内

2016-09-13 17:40 405 查看
见这个网址:http://api.map.baidu.com/library/GeoUtils/1.2/examples/simple.html

查看其源代码即可。

下面的代码可以判断某个点是否属于一个多边形

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>GeoUtils示例</title>

<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>

<script type="text/javascript" src="http://api.map.baidu.com/library/GeoUtils/1.2/src/GeoUtils_min.js"></script>

<style type="text/css">

    table{

        font-size:14px;

    }

</style>

</head>

<body>

<div style="float:left;width:600px;height:500px;border:1px solid gray" id="container"></div>

</div>

</body>

</html>

<script type="text/javascript">

var map = new BMap.Map("container");

var pt = new BMap.Point(116.404, 39.915);

map.centerAndZoom(pt, 16);

map.enableScrollWheelZoom();//开启滚动缩放

map.enableContinuousZoom();//开启缩放平滑

var pts = [];

    var pt1 = new BMap.Point(116.395, 39.910);

    var pt2 = new BMap.Point(116.394, 39.914);

    var pt3 = new BMap.Point(116.403, 39.920);

    var pt4 = new BMap.Point(116.402, 39.914);

    var pt5 = new BMap.Point(116.410, 39.913);    

    

    pts.push(pt1);

    pts.push(pt2);

    pts.push(pt3);

    pts.push(pt4);

    pts.push(pt5);  

    var ply = new BMap.Polygon(pts);

    

    var pt =new BMap.Point(116.400, 39.914);

    

    var result = BMapLib.GeoUtils.isPointInPolygon(pt, ply);

    if(result == true){

        alert("in  polygon");

    } else {

        alert("点在多边形外")

    } 

    

    //演示:将面添加到地图上    

    map.clearOverlays();

    var mkr = new BMap.Marker(pt);

    map.addOverlay(mkr);

    map.addOverlay(ply);  

        

    </script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐