Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes two bugs #7

Open
wants to merge 17 commits into
base: main
Choose a base branch
from
Open

Fixes two bugs #7

wants to merge 17 commits into from

Conversation

rubillionaire
Copy link

I have two changes that fix two bugs.

The first is related to this issue, #4, where the _onviewbox does not call its callback. In this case the bug doesn't cause any immediate issues, since the callback is always going to return a null value. My understanding is that mixmap.addLayer makes its layer's have a viewbox, add and remove method. viewbox is used to determine how add and remove work. in the case of mixmap-peermaps, it is doing its own draw management so it does not need to return any tile based results.

The second issue is related to how features are managed. When working on a map of puerto rico, i noticed that setting the viewbox of the mixmap to a non-overlapping viewbox would make features that spanned both bboxes not render. it looks like its because atm the addBuffer method returns early if it finds that it is operating on an existing buffer. instead of exiting early, i found that if i just exist the if statement, and proceed to allow the _count and _queryIndexIds maps to be updated, this would prevent _cull from getting rid of features prematurely.

Happy to discuss further if useful.

…t the callback can be fired after it is complete. i believe expects this callback to return tile based layer object so that it can add and remove them to the map instance. in this case is managing drawing its own feature data to the map, so we can just return null.
…staff) groups=20(staff),501(access_bpf),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae),701(com.apple.sharepoint.group.1) exists and it matches the already stored value. this allows it to continue on and update the and maps for the uid=501(rdr) gid=20(staff) groups=20(staff),501(access_bpf),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae),701(com.apple.sharepoint.group.1). these are used in the method, and if the value of for the uid=501(rdr) gid=20(staff) groups=20(staff),501(access_bpf),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae),701(com.apple.sharepoint.group.1) remains at 1 even though it matched on multiple bboxes, then it will be culled and will lead to larger map features that span two non-intersecting bboxes to be removed.
…d exists and it matches the already stored buffer value. this allows it to continue on and update the _count and _queryIndexIds maps for the id. these are used in the _cull method, and if the value of _count for the id remains at 1 even though it matched on multiple queryIndex bboxes, then it will be culled and will lead to larger map features that span two non-intersecting bboxes to be removed.
…ixmap-peermaps to have a hook into the feature.decoder onItem processing. moves to doing feature detection, if we can support window.Worker, then go ahead and use the web worker setup to decode features with
…method, a bit cleaner to pass into the method and have it used directly there. priming the way for moving the db querying into a worker
…. abandoning doing this as streams in favor of event emitters
…ning in a worker, and features being decoded in parallel workers as well
…hod to the plugin that will give a hook for terminating workers. useful if you want to stop processing data from a mixmap source, or you want to load another source
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.

1 participant