利用百度api判断已知经纬度的一个点是否在多边形内
見這個網址: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>
總結
以上是生活随笔為你收集整理的利用百度api判断已知经纬度的一个点是否在多边形内的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32f103rb升级到stm32f
- 下一篇: 数据挖掘领域十大经典算法