Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Map API, need suggestions for how to execute ideas
-
This feature to automatically add a new trash pin to an existing group is not so easy as I thought.
With the added circle overlay feature, it becomes very complex because if the group receives a new point, its center will change and I have to remove the overlay and create a new one.
I hope for tomorrow... -
@RocketBlaster05 but is this for a coding class, where you are presenting this work as your own? If so, it seems that you are not learning to code or debug by having cvp so all of the work, even if he is willing.
Or is this for some sort of civics class? In which case "I had a great idea, and found someone on the internet to code it up" seems totally legit.
-
@JonB I have already done the part where I have to present my work. I have not asked Cvp for any of this help before then. I simply need help because I’m trying to collect data and the methods to do so are beyond my comprehension. The class does not revolve around coding, but rather this is my choice for my engineering project. I am not presenting any of the work Cvp has done as my own. I only wish to get some data as it is the only thing I am missing for my project.
-
Beyond what I said above, I do genuinely want to bring my idea beyond the classroom. I want to push out an app that helps encourage people to recycle, and it just so happens that the main part is by far the toughest. Beyond the map, it is unlikely I will need much assistance other than a couple pointers here and there.
-
@RocketBlaster05 Understood. I'm already far in my new feature but I meet problems...
And, enough for today.
Next tomorrow
Have a good afternoon. -
@cvp thank you. See you tomorrow. Sorry for all the confusion
-
@RocketBlaster05 Github updated with the new feature of automatically add a new trash pin in an existing deleted group. After a lot of tests, it seems to work.
But, unfortunately, the iOS mapkit has a known bug (lot of references in internet) of not always refreshing the map, that will say that removed pin's and removed overlays (here, the circles) are still visible and could hide the new ones.
But, locations.txt file is correct, and if you close and restart the script (not Pythonista it-self) , you will see your new crosshairs values and their new circles. Hoping it is ok for you. -
@RocketBlaster05 this schéma only to show you that the circle I draw around the center of the group of points is not exactly correct.
The area where you could add a trash pin which would be automatically included in the group is the darkest green area I have manually contoured.If you prefer this solution where I draw a circle of 10m of radius around each point of a group, tell me.
-
@cvp I think just the one circle would be best. However I was testing it and the circle seems to have a fairly small range when it comes to transforming the pins. I had a pin well within the circle and it did not update it. Is it based off of other pins or the center of the circle? I also noticed that the center of the circle moved after I got one to transform so that is why I’m asking.
Thanks!
-
@RocketBlaster05 said:
Is it based off of other pins or the center of the circle?
A trashed pin will be added to a group only if the distance between this pin and all points of the group is less than 10 meters, thus it is not sufficient that the pin would be inside the circle.
Don't forget that a group contains points where each point has to be distant of all other ones with less than 10m.
That's why I propose you the other solution than a centered circle...with this marvelous schéma 😀 -
@cvp ah ok I understand now. After you explained it yes I think your schema would be good.
-
@RocketBlaster05 Please confirm That I modify the script to only show circle around each deleted point in a group, as circles superpose, the darker green becomes the group area.
Ideally, if I could draw only this, it would be the solution, but I think it is very very complex.
-
@cvp that does sound very complex. I’m not going to ask you to do it but if you want to challenge yourself then go ahead. For me what you proposed earlier seems just fine.
-
@RocketBlaster05 said:
. For me what you proposed earlier seems just fine.
Try it in updated Github but delete locations.txt first
-
@RocketBlaster05 As I replaced small circles of points by big circles of 10m, it is no more very visible where points really are. Thus I changed GitHub version to show big and little circles
-
@RocketBlaster05 thé 2 trash are not included because outside the red contour
-
@cvp Looks good. I could see how this eventually could be confusing but the chances of more than 3 markers being placed within 10m of each other really is unlikely so I think it will not be much of an issue.
-
@RocketBlaster05 Not sure I'll try to solve this problem of inner part, but I'm still open to other easier features and for other bugs of course.
-
@cvp I know you worked very hard to make these circles appear, but now I need a function to remove them off of the map. The goal here was that after trash was marked, another user would come by (hopefully clean it) then clear the trash marker, as there is no longer trash present. However I want to prevent people from just saying they cleaned it. I would like to make it so that, specifically for the crosshairs, it would take three presses to clear the marker. Once the user presses it once, they can no longer press it, as some variable (set for that specific crosshair) would be set to True, not allowing them to press it again. If they tried to, a message could appear in console saying something along the lines of "You already marked this location as clean."
This may be a lot to take in so by all means ask any questions, I'd be glad to clarify things.
Thanks as always!
-
@RocketBlaster05 For your information, if interested by technical aspects, it should be possible to draw a filled area with the union of circles drawn around all points of the group using the ObjectiveC object named MKOverlayPathRenderer, created with CGPath to which a UIbezierPath could be converted, and an UIbezierPath is the objectinstance of ui.Path.
And this is a only summary 😅.
Briefly said, it is very complex for me, but not impossible. Perhaps in a second life.