Example: /MacFrameworks/MapKit/MapKit Route

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/MacFrameworks/MapKit/MapKit Route


Required plugins for this example: MBS MacBase Plugin, MBS MacFrameworks Plugin, MBS MacCG Plugin, MBS MacCF Plugin, MBS Main Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacFrameworks/MapKit/MapKit Route

This example is the version from Sat, 1st Nov 2019.

Project "MapKit Route.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class MainWindow Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
EventHandler Sub ExpandRow(row As Integer) dim item as Variant = me.RowTag(row) if item isa MKRouteMBS then dim route as MKRouteMBS = item dim steps() as MKRouteStepMBS = route.steps for each RouteStep as MKRouteStepMBS in steps dim a as string = RouteStep.notice if a.len > 0 then a = " ("+a+")" end if List.AddRow RouteStep.instructions+a next end if End EventHandler
End Control
EventHandler Sub Open() // you can use Map Items for current location, local search results or generate some // take some coordinates dim c1 as new CLLocationCoordinate2DMBS(52.518611, 13.408333) // Berlin dim c2 as new CLLocationCoordinate2DMBS(48.137222, 11.575556) // Munich dim p1 as new MKPlacemarkMBS(c1) dim p2 as new MKPlacemarkMBS(c2) dim i1 as new MKMapItemMBS(p1) dim i2 as new MKMapItemMBS(p2) dim request as new MKDirectionsRequestMBS request.transportType = request.TransportTypeAutomobile request.source = i1 request.destination = i2 request.requestsAlternateRoutes = true Directions = new MKDirections(request) Directions.list = list Directions.calculateDirections End EventHandler
Property Directions As MKDirections
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
Class MKDirections Inherits MKDirectionsMBS
EventHandler Sub calculateDirectionsCompleted(response as MKDirectionsResponseMBS, error as NSErrorMBS, tag as Variant) list.DeleteAllRows if error <> nil then MsgBox error.LocalizedDescription end if if response <> nil then dim routes() as MKRouteMBS = response.routes for each route as MKRouteMBS in routes dim a as string = join(route.advisoryNotices, ", ") if a.len > 0 then a = " ("+a+")" end if list.AddFolder route.name+" with "+str(route.expectedTravelTime/60)+" minutes"+a list.RowTag(list.LastIndex) = route next end if End EventHandler
Property list As listbox
End Class
End Project

See also:

The items on this page are in the following plugins: MBS MacFrameworks Plugin.


💬 Ask a question or report a problem