У меня есть координаты границы региона Москвы, и мне необходимо равномерно распределить точки по этому и региону и узнать их координаты. Есть ли какие то готовые решения такой задачи?
Вот Вам решение на turf.js, логика как в комментарии господина @MBo
ymaps.ready(function() {
let map = new ymaps.Map("map", {
center: turf.center(area).geometry.coordinates,
zoom: 9,
controls: []
});
map.geoObjects.add(new ymaps.GeoObject(area))
var bbox = turf.bbox(area);
let count = 15
for (var x=0; x< count; x++){
for (var y=0; y< count; y++){
let obj = {geometry: {type:'Point', coordinates:[
bbox[0] + (bbox[2]-bbox[0])/count*x,
bbox[1] + (bbox[3]-bbox[1])/count*y
]}};
if (turf.booleanPointInPolygon(obj, area))
map.geoObjects.add(new ymaps.GeoObject(obj))
}
}
});
let area = {
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [[
[37.34527587890625,55.95381321086168],
[37.32330322265625,55.66209476458093],
[37.0843505859375,55.593867449197575],
[37.12005615234375,55.44771083630114],
[36.8426513671875,55.5099714998319],
[36.83990478515625,55.39471190628709],
[37.04315185546875,55.14277943861009],
[37.42218017578125,55.26972780710658],
[37.60894775390625,55.56747507540018],
[37.8973388671875,55.699259616176356],
[37.8533935546875,55.824430445857764],
[37.562255859375,55.95381321086168],
[37.34527587890625,55.95381321086168]
]]
}
}
area.geometry.coordinates[0] = area.geometry.coordinates[0].map(e=>[e[1],e[0]])
body {
overflow: hidden;
margin: 0;
}
#map {
width: 100vw;
height: 100vh;
}
<script src="https://cdn.jsdelivr.net/npm/@turf/turf@5/turf.min.js"></script>
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU"></script>
<div id="map"></div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как сделать чтобы баннер выравнивался по центру, а не с левой стороныИспользую CMS Xenforo 2
Как сделать подобие подсветки синтаксиса?
Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение