
me
01.03.2017
07:09:03
https://habrahabr.ru/post/322602/#comment_10093554

Oleg
01.03.2017
07:13:11
Если это просто упаковать - мой подход лучше

Котяй Негодяй
01.03.2017
07:13:28

Google

Oleg
01.03.2017
07:13:32
Если там надо расстояния высчитывать, поиск там
То уже нет
Через мап можно ещё, да

me
01.03.2017
07:13:48
нет, просто хранить и иногда проходиться по списку

Oleg
01.03.2017
07:14:15
Вариант с мап даже лучше будет
А то я олдскульщик сильно

me
01.03.2017
07:14:22
ну и я так же. Ну как бы расти нужно :)

Котяй Негодяй
01.03.2017
07:14:36
Хотя стоп.
Не. Мап работать не будет.

Oleg
01.03.2017
07:14:46
Да
Не будет
Потому что ссылки ?

Google

Котяй Негодяй
01.03.2017
07:15:00
Там же ==

Oleg
01.03.2017
07:15:04
Вот так вот, сбил меня с толку

Котяй Негодяй
01.03.2017
07:15:17
=))

Oleg
01.03.2017
07:15:19
Объекты лучше

Котяй Негодяй
01.03.2017
07:15:36
А какие координаты? Там у тебя дискретные значения?

me
01.03.2017
07:15:54
ну 6 цифр после запятой

Котяй Негодяй
01.03.2017
07:16:15
Они же попадут в разные категории.

me
01.03.2017
07:16:39
да, попадут

Котяй Негодяй
01.03.2017
07:16:44
Тебе нужен механизм агрегации.

me
01.03.2017
07:16:45
тут не очень важно на этом этапе

Котяй Негодяй
01.03.2017
07:17:03
Лучше сразу работай с БД.

hlomzik
01.03.2017
07:17:06

me
01.03.2017
07:17:06
в общем просто хотел проверить не совсем ли ужасно использовать координаты как key в объекте. Спасибо

Котяй Негодяй
01.03.2017
07:17:38
PostgreSQL и монга умеют с гео-координатами.

me
01.03.2017
07:17:48
так мне на front это нужно :)
с PostgreSQL они и приходят

Котяй Негодяй
01.03.2017
07:18:07
Предлагаю определить дискретные диапазоны и выбирать туда объекты.

Google

me
01.03.2017
07:18:54

Oleg
01.03.2017
07:19:16
Если ещё и группировать что рядом - это соооовсем другая задача

hlomzik
01.03.2017
07:20:12
Можно без кластеризации а по-тупому с округлением. Разбивая мир на квадраты по сути
Так а в чём проблема с мапами?

me
01.03.2017
07:20:26

Котяй Негодяй
01.03.2017
07:21:57

Oleg
01.03.2017
07:22:34
Поясните
Массивы передаются по ссылке. Чтобы получить потом элемент - нужно обратится этой ссылкой. Если сделать массив с теми же значениями - это будет другой массив. Необходимость хранения ссылок полностью убивает смысл в мапе в данном случае и в большинстве других - массивы, объекты, да и все не примитивные значения как ключи мапы - имеют очень узкий круг применения.

hlomzik
01.03.2017
07:22:47

Котяй Негодяй
01.03.2017
07:23:00

me
01.03.2017
07:24:41
ну тогда и getObj будет Array<Object>?

hlomzik
01.03.2017
07:25:14

me
01.03.2017
07:25:52
А что будет быстрее работать? Ну в плане O(n)?

hlomzik
01.03.2017
07:26:19
А, да. Поправил.
Я бы в основном массиве хранил объекты по одному, плюс индекс по координатам. И возврат массива в getObjects. Но зависит от задач.

Котяй Негодяй
01.03.2017
07:27:01
Да, изначально, нужно хранить начальные данные.

me
01.03.2017
07:28:02
такой подход все еще хорош? :)
{'100.500_300.700': [Obj1, Obj2, Obj3]}

Котяй Негодяй
01.03.2017
07:28:38
class Objects {
objects: Array<{
lat: number,
lon: number,
indexDiscret: {
lat: number,
lon: number,
},
obj: Object,
}>;
getObj: (lat: number, lon: number) => Object;
addObj: (lat: number, lon: number, obj: Object) => this;
}

me
01.03.2017
07:29:20
что такое indexDiscret?

Google

Котяй Негодяй
01.03.2017
07:29:23
Индекс дискретных значений координат (т.е., в какую категорию попадает тот или иной объект).

me
01.03.2017
07:30:19
угу, ясно. А тогда как добавлять туда object?

Котяй Негодяй
01.03.2017
07:32:21

me
01.03.2017
07:32:35
ну т.е. нужен удобный механизм добавить объект, посчитать сколько объектов по определенным координатам и получить их

Admin
ERROR: S client not available

Котяй Негодяй
01.03.2017
07:33:14
Поправил.

Oleg
01.03.2017
07:34:42
А ещё если объекты далеко то нужно учесть то что земля сфера

me
01.03.2017
07:34:57

Котяй Негодяй
01.03.2017
07:35:07
Можно и без indexDiscret. Но тогда для поиска потребуется болше вычислений.

me
01.03.2017
07:35:23

Котяй Негодяй
01.03.2017
07:35:25

Oleg
01.03.2017
07:35:25
Ну я думаю для этой задачи не нужно, но в целом если точность очень сильно важана - нужно

Котяй Негодяй
01.03.2017
07:36:21
эт зачем?
Затем, что градус широты и долготы в разных точках ЗШ равен разным расстояниям. =)

me
01.03.2017
07:36:51
а, это если группировать объекты по координатм

Котяй Негодяй
01.03.2017
07:37:30

me
01.03.2017
07:37:35
но тогда получается чтобы выбрать эти объекты получается 0(n), а с hashmap - 0(1)

Google

me
01.03.2017
07:37:45
но я могу конечно ошибаться
гуманитарий я

Котяй Негодяй
01.03.2017
07:38:09
Ну и мне чисто субъективно не очень нравится подход с вычисляемыми именями ключей.

Oleg
01.03.2017
07:39:04
Вычисляемые имена можно считать как хеш над строкой
Кстати, можно было бы и хеш юзать
Но не нужно

me
01.03.2017
07:41:00
ладно. мозг размяли с утра. Всем спасибо ?

Denis
01.03.2017
08:32:23
Привет всем
нашел такую записть на стаковере
function is_touch_device() {
return !!('ontouchstart' in window);
}
для чего двойное отрицание?

Alex
01.03.2017
08:32:47
чтобы наверняка в булево перевести
есть ли в этом смысл другой вопрос)

Denis
01.03.2017
08:34:52
понял, спасибо)

Алексей
01.03.2017
09:30:43
Мы строили строили и наконец построили :) второй Angular митап (в Москве) уже на носу. Успевайте зарегистрироваться. https://meetup.tinkoff.ru/

Sergey
01.03.2017
09:33:19
Можете подсказать
https://gist.github.com/anonymous/31b3814f7e386e6eef35e31747796e24
как мне по клику на .menu-tab добавлять класс к .menu-hide и потом по повторному добовлять другой
по факту show/hide

Dmitry
01.03.2017
09:48:19
Хочется click-to-edit поле, и самый простой вариант - html5 contenteditable <p>. Это работает, но по окончании редактирования в поле попадают теги типа <br> (и они же уходят и на бэкэнд). Могу их пострипать, но это костыльно
Как православно подружить rich text editing (отступы, переводы строки) + contenteditable? :) Может, кто-то знает

Eugene
01.03.2017
09:49:35

Dima
01.03.2017
09:50:47