pointsWithinPolygon()方法的返回值

时间:2019-04-02 18:21:47

标签: javascript turfjs

我正在尝试使用turf.js框架及其pointsWithinPolygon方法来定位网站的访问者以显示页面元素或不显示页面元素

到目前为止,在将解决方案应用于实际应用之前,我一直在研究示例代码:
-我已经使用geojson地图应用程序绘制了Polygone(这里是不熟悉的人的链接:http://geojson.io/#map=2/20.0/0.0),并已将其坐标 -我使用navigator.geolocation.getCurrentPosition()来获取当前坐标

=>然后使用pointsWithinPolygon方法来确认我在多边形中...

<!DOCTYPE html>
<html>
<body>

<p>Click the button to get your coordinates.</p>

<button onclick="getLocation()">Try It</button>

<p id="demo"></p>
<script src='https://unpkg.com/@turf/turf'></script>
<script>
  var x = document.getElementById("demo");
getLocation();
function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else { 
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}

function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude + 
  "<br>Longitude: " + position.coords.longitude;

  var points = turf.points([
    [position.coords.longitude, position.coords.latitude]
]);

var searchWithin = turf.polygon([[
    [-128.84765625, 24.686952411999155],
    [-66.62109375, 24.686952411999155],
    [-66.62109375, 50.62507306341435],
    [-128.84765625, 50.62507306341435],
    [-128.84765625, 24.686952411999155]
]]);

var ptsWithin = turf.pointsWithinPolygon(points, searchWithin);
console.log(ptsWithin);
if(ptsWithin)
{
  console.log("is in the polygon");
}
else
{
  console.log("is NOT in the polygon");
}


}
</script>

</body>
</html>

我已将console.log(ptsWithin)放在该函数的实际返回值中。这是一个featurecollection ...,实际上并不知道如何使用...理想情况下,此对象可以包含属性或布尔值,它们会告诉我“好,您在多边形中”或“您'不是'

你们有个主意吗?

0 个答案:

没有答案