Google maps 如何使用TurpJS在多边形内正确添加方形网格?
所以我现在在玩Turpjs。我试着在一个多边形中添加一个正方形网格 这是代码Google maps 如何使用TurpJS在多边形内正确添加方形网格?,google-maps,google-maps-api-3,turfjs,Google Maps,Google Maps Api 3,Turfjs,所以我现在在玩Turpjs。我试着在一个多边形中添加一个正方形网格 这是代码 var triangleCoords = [ { lat: 25.774, lng: -80.19 }, { lat: 18.466, lng: -66.118 }, { lat: 32.321, lng: -64.757 }, { lat: 25.774, lng: -80.19 } ]; // Construct the polygon. var bermudaTriangle = new goo
var triangleCoords = [
{ lat: 25.774, lng: -80.19 },
{ lat: 18.466, lng: -66.118 },
{ lat: 32.321, lng: -64.757 },
{ lat: 25.774, lng: -80.19 }
];
// Construct the polygon.
var bermudaTriangle = new google.maps.Polygon({
paths: triangleCoords,
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35
});
bermudaTriangle.setMap(map);
const geoJSON = {
type: 'Polygon',
coordinates: []
};
// convert to bermudaTriangle path to geojson
for (let point of bermudaTriangle.getPath().getArray()) {
geoJSON.coordinates.push([point.lat(), point.lng()]);
}
const feature = turf.feature(geoJSON);
const bbox = turf.bbox(feature);
// ERROR: this one's showing Infinity values
console.table(bbox);
const grid = turf.squareGrid(bbox, 50, {
units: "miles",
mask: feature
});
map.data.addGeoJson(grid);
看看控制台,它显示了bbox的无穷多个值,正如在代码中注释的那样
我为代码添加了一个链接
geoJSON
在所提供的示例中无效,这就是turp.bbox
返回无效结果的原因。多边形的GeoJSON可以通过turp.polygon
构建,如下所示:
var triangleCoords = [
{ lat: 25.774, lng: -80.19 },
{ lat: 18.466, lng: -66.118 },
{ lat: 32.321, lng: -64.757 },
{ lat: 25.774, lng: -80.19 }
];
var data = triangleCoords.map(coord => {
return [coord.lng, coord.lat];
});
var geojson = turf.polygon([data]);
const bbox = turf.bbox(geojson);
边界框的计算如下:
var triangleCoords = [
{ lat: 25.774, lng: -80.19 },
{ lat: 18.466, lng: -66.118 },
{ lat: 32.321, lng: -64.757 },
{ lat: 25.774, lng: -80.19 }
];
var data = triangleCoords.map(coord => {
return [coord.lng, coord.lat];
});
var geojson = turf.polygon([data]);
const bbox = turf.bbox(geojson);
GeoJSON通常是坐标的
[经度,纬度]
。@geocodezip我已经切换了这两个,但仍然没有效果。非常感谢。我已经想到了。我没有注意到有一个草皮多边形方法。我想我唯一需要做的就是把它旋转成与多边形相同的角度。知道如何以与多边形相同的角度旋转网格吗?