Точка точка-точка d3.geo.tile не отображается для переменной ширины

Я следовал этому примеру с блоком, чтобы показать узлы и пути в виде ориентиров и дорог. Я успешно загрузил карту и смог увеличить масштаб до уровня "Просмотр улиц". Я также успешно добавил узлы, следуя примеру.

Моя проблема, однако, заключается в том, что мои пути в основном являются прямыми путями PointA-PointB. Я осуществлял их как M(sourcex),(sourcey)L(targetx),(targety) прежде чем я добавил карту. Теперь пути не будут отображаться, если ширина не была установлена ​​ТОЧНО 0.9 / zoom.scale() который не работает для меня. Мне нужно, чтобы пути менялись по ширине в зависимости от данных, но даже при незначительном изменении 0,9 на 1 путь снова исчезнет. Я не уверен, что это из-за масштабирования карты, но независимо от того, на каком уровне масштабирования я нахожусь, путь больше не появляется.

Я попытался вручную отредактировать путь в примере, чтобы сравнить. От M(sourcex),(sourcey)L(target1x),(target1y)L(target2x),(target2y)... чтобы просто M(sourcex),(sourcey)L(target1x),(target1y) и путь тоже исчез. (Редактировать: пробовал на примере mbostock тоже с тем же результатом.)

Я нашел обходной путь, где я дублирую цель на пути M(sourcex),(sourcey)L(targetx),(targety)L(targetx),(targety), Я могу изменить ширину обводки этих путей, однако, когда я добавляю маркер стрелки, головка стрелки перекошена.


Вот jsfiddle, чтобы продемонстрировать мою проблему: https://jsfiddle.net/mxzepdap/33

На jsfiddle есть 2 пути:

Путь 1: Нормальный M(sourcex),(sourcey)L(targetx),(targety)

  • Не отображается, если ширина штриха не равна 0,9 / zoom.scale()
  • Имеет наконечники стрел в правильном направлении

Путь 2: повторный M(sourcex),(sourcey)L(targetx),(targety)L(targetx),(targety)

  • Показывает путь независимо от ширины
  • Стрелки могут быть перекошены, возможно, из-за повторяющейся точки на пути. Стрелки имеют решающее значение для того, что я делаю, так что это большой нет.:(

Вы можете переключать ширину пути, используя 2 кнопки над рендером.

Большинство примеров, которые я видел, не являются двухточечными и не увеличивают масштаб до уровня просмотра улиц, так что я действительно растерялся в этом. Любая помощь с благодарностью.

0 ответов

Другие вопросы по тегам