Есть ли пример плавающего вокруг обнаружения столкновения, который позволяет избежать столкновения, манипулируя радиусом, а не координатами x, y? Я знаю примеры, которые Майк Босток и другие собрали вместе, но я не использую график силы, и мои точки географические и не могут управлять их координатами.D3js обнаружение столкновения маркера карты
Моей наилучшей предпосылкой было бы начать с кругов радиуса 0, перебрать их и увеличить их отдельные радиусы, пока они не сталкиваются с другим кругом. Я думаю, что это создаст фантастическую визуализацию, но я не уверен, как эффективно определять, сталкивается ли один круг с другим.
JSBin моей карты с инлайн D3js (вкладке JavaScript просто держит 600KB GeoJSON набор данные): http://jsbin.com/tapuhefamu/1/edit?html,output
Обратите внимание, как маркеры перекрываются при увеличении, это не кажется большим дело в fiddle (просто увеличьте масштаб дальше, правильно?), но карта, с которой я работаю, имеет ~ 2000 контактов, сгруппированных только в нескольких округах, которые должны отображать информативный DIV при нажатии. Некоторые контакты практически полностью закрыты и не могут взаимодействовать из-за перекрытия.
Если вы можете предоставить образец скрипки, я бы попробовал. – ahmohamed
Как [упаковка кружка] (http://bl.ocks.org/mbostock/4063530)? –
У вас есть что-нибудь, что может вам помочь в программе Mike's Visualizing Algorithms (http://bost.ocks.org/mike/algorithms/)? Не совсем то, что вы ищете, но не должно быть слишком сложно адаптироваться. –