Skip to content

Add method Polyline.closestLayerPoint#186

Merged
mourner merged 1 commit intoLeaflet:masterfrom
anru:master
Jul 20, 2011
Merged

Add method Polyline.closestLayerPoint#186
mourner merged 1 commit intoLeaflet:masterfrom
anru:master

Conversation

@anru
Copy link
Copy Markdown
Contributor

@anru anru commented Jul 14, 2011

Иногда нужно рассчитать дистанцию от полилинии до определенной точки.
Сделал отдельным файлом, т.к. функционал не обязательный.

Если будут какие-либо предложения или замечания, то буду рад выслушать.

@mourner
Copy link
Copy Markdown
Member

mourner commented Jul 19, 2011

Я тут подумал... А расстояние в пикселях до полилайна имеет смысл только когда полилайн на экране на данном зуме, раз используется это только в interaction-фичах? Т.е. имеет смысл получать расстояние, даже если полилайн далеко за пределами экрана? Просто с точки зрения перфоманса было бы намного оптимальнее пробегаться не по оригинальным точкам, а по упрощённым и обрезаным - например, когда полилайн из 50000, на верхнем зуме имеют значение только 200 точек, в которые она упрощается.

@anru
Copy link
Copy Markdown
Contributor Author

anru commented Jul 20, 2011

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

@anru
Copy link
Copy Markdown
Contributor Author

anru commented Jul 20, 2011

Обновил коммит

Also fix method L.LineUtil.simplify for empty geometry
@anru
Copy link
Copy Markdown
Contributor Author

anru commented Jul 20, 2011

Вместо distanceToLayerPoint сделал closestLayerPoint, а также добавил нужную функциональность в LineUtil (просто дистанции не хватает для нужд interaction-фич).

Если будут какие-нибудь замечания по поводу реализации буду рад выслушать.

mourner added a commit that referenced this pull request Jul 20, 2011
Add method Polyline.closestLayerPoint
@mourner mourner merged commit fdaedb4 into Leaflet:master Jul 20, 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants