I have been working diligently for months and months on my current project and have hit my first true snag. I am hoping that someone may have a solution or workaround that I have yet to discover.
My project has a “dispatch board” kind of element to it where you can select customers from certain specified criteria and add them to a map. What I would like to have is it adds the customers to the map and somehow have some form of a route optimization ability. The issue is I can not find much on the forums about how to accomplish this and not too sure which direction to head.
I am sincerely hoping that someone may have an idea! The customers that need to be routed changes based upon the service that is selected. Then, you select the customers from the results in a repeating group and add them to the map.
I greatly look forward to your ideas and thoughts!!!
Hello! This is entirely possible, to the level of delivering something from one place to another two streets away, or less. Actually we could get to the meters level here but let’s leave that for another day.
First you’ll need a map element. Then a geocoding API so you can get each of the addresses’ coordinates, then you’ll need to talk to a route API, for example Mapbox and Stadia have route generating APIs you can hit them with (at least) both the coordinates (origin -> destination) then get back a route, then you’ll have to display that route in the map, usually through the draw line or draw shape feature that the map has.
Of course there are many more capabilities in this map and route and positioning world, but first focus on what you need, try to not get hypnotized by the possibilities.
If it is related to the initial thread message, then yes, some of the requested features can be implemented through the Google Map Extender Plugin for Bubble.
For example:
This can be done through the “Add directions” action, which enables to add waypoints and supports the route optimization.
For more useful info, to see if certain plugin fits your project requirements, we would suggest also checking the list of available events, data calls and actions (check the docs and plugin tab in the editor), available on: