Announcement

Collapse
No announcement yet.

Destinator SDK

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Destinator SDK

    I plan on buying Destinator (was going to be Infomap, but have since changed mind after seeing this!)
    Just had a little play with the SDK, launching (from VB6) using Dest2.CreateDestinatorWindow (0)
    Launches the window with no problem, but ideally I'd like to dispose of the window frame (ie border style none) - anyone incorporated destinator into their own VB app? How do you dispose of the border?
    (Or embedding the window into a form would be nicer)
    Any ideas?
    Thanks
    Nehemiah M10000 board, 512Mb RAM, Win98'lite', 7" TFT DIN in-dash VGA touchscreen. IR keyboard. GPS.

  • #2
    if you can gain access to the HWND object you can do pretty much anything you want with it, use SetWindowLong(.. GWL_STYLE to remove/change border styles, make it WS_CHILD and use SetParent() to embedd it in your own window.

    Comment


    • #3
      Ok ... first off, Destinator rocks!

      I've implemented sections into a test program and it works beautifully other then the odd hang ... (not sure if this is me or Destinator - giving Destinator the benifit of the doubt right now).

      mian34 is correct with regards to modifying the window via it's handle using SetWindowLong, but you can also just change the clipping area (by creating & setting the region info for the handle) if all you want to do is dispose of the border - of course you'll still have to deal with moving the window around as your app moves ... though the SetParent() will take care of this for you ...

      Even using the SetParent() for the embedding, I seem to recall my main window losing focus when touching the embedded destinator window - I had encountered your same issue a few weeks ago when I initially looked at Destinator ... this could cause issues if your expecting keypresses to a specific window ...

      Unfortunately I've found the Destinator SDK to be severely lacking in a number of areas ... ie, there's no API to set the zoom level for a given map (other then AutoZoom)! Many of these functions can be traced back using SPY++ or a similar tool. I've contacted the folks at Destinator to see what they have to say about this (and hopefully to get a master list of parameters for WM_COMMAND functions)....

      cheers,

      GTC

      Comment


      • #4
        Thanks for the replies, I shall try this approach later on - Get ready for code requests if I can't embed the window properly!
        Nehemiah M10000 board, 512Mb RAM, Win98'lite', 7" TFT DIN in-dash VGA touchscreen. IR keyboard. GPS.

        Comment


        • #5
          Originally posted by GTC
          Ok ... first off, Destinator rocks!

          I've implemented sections into a test program and it works beautifully other then the odd hang ... (not sure if this is me or Destinator - giving Destinator the benifit of the doubt right now).
          Wow! Have you got any example code I could have a look at? Im not really au-fait with API calls and that kind of thing in VB, so I never really got anywhere with using the Dest SDK
          -------------------------------------------
          (=========-) 99% complete
          --------------------------------------------
          AMD K6/2 500 @ 450mhz to keep heat and power usage down, 64Mb, slim CDrom drive, 64mb USB pendrive for MP3 transfer, 10Gb 2.5" drive for MP3, USB>RS232
          All jammed in external CDROM drive case.
          Kenwood KVC-1000r In-Dash LCD. x-10 MouseRemote. Destinator V2 Gps. DC-DC with onboard Shutdown controller.
          ----------------------------------------------

          Comment


          • #6
            Hi Phil,

            I'm currently writing everything in C++ and actually don't use the SDK much except to actually load the Destinator engine and get routing information ... I'm not sure that anything that I have would be of any help to you - ie, using the SDK would have been easier and more straightforward - the SDK just didn't contain some of the functions that I wanted to implement, at least not in the way in which I wanted to implement them ...

            For example, I wanted to move the map with my finger tip; Destinator provided similar functionality but required that you use a bunch of their embedded controls to do this ... I didn't want to crowd the screen, so I wrote my own handlers for these types of events ... it feels fairly slick right now, but required abandoning some of the SDK.

            I believe that MapPoint would have been better for me from a development point of view, but Destinator seems to be a better product overall ... one that I'd prefer to have in my car!

            If you have any specific questions, please ask!

            cheers,

            Brendon

            Comment


            • #7
              Righto, so far so good - I call the destinator window open, resolve it's hWnd number, I then embed the Destinator window within a picturebox on my form using SetParent, I then strip Destinator's window titlebar using SetWindowLong - so far all going good
              (Aside from the fact I resolved the forms hWnd twice accidentally and initially tried to embed my window into itself (Got my hWnd calls mixed up) - can you say BSOD? - fixed now though )
              but...how can I get the destinator window to position itself correctly within my picturebox?
              When I call setparent and land it within my box, it just lands where-ever it chooses within the picturebox, any pointers...? (I'd like top left to land at 1,1)
              Nehemiah M10000 board, 512Mb RAM, Win98'lite', 7" TFT DIN in-dash VGA touchscreen. IR keyboard. GPS.

              Comment


              • #8
                It's ok, ignore last request - sussed that now
                (Positioning destinator within my picturebox) can now call it up, bung it into my form, position at 1,1 and specify the width/height of the destinator window within my box - (I also bypass warning when it fires up) - only give away now is that when you open the GPS system you can see the destinator window for 1 second as the 'loading' bar moves across the screen, no big deal- although I'll probably hide the window and load in background to totally hide that.
                All starting to look pretty swish now, integrates seamlessly with my VB app
                Now that's sorted I can have some fun working on manipulating Destinators functions via the SDK

                Next prob - I can't hear the directions when MP3/Video is running - going to dig through now and see if there is an event I can use - so that when a direction is given, it pauses MP3/video - says the direction - then resumes MP3/video playback.

                Cheers for pointing me in the right direction anyhoo - done the trick!
                Nehemiah M10000 board, 512Mb RAM, Win98'lite', 7" TFT DIN in-dash VGA touchscreen. IR keyboard. GPS.

                Comment


                • #9
                  Originally posted by Vittel
                  It's ok, ignore last request - sussed that now
                  (Positioning destinator within my picturebox)
                  All starting to look pretty swish now, almost integrated seamlessly with my VB application
                  I want to get on on doing this for Me but I have little VB experince.... Can any body give some quick pinters or even some good resources to look at on the web ?

                  Tar

                  Terran

                  PS - I am IT littrate but not really a programmer...
                  My Project Site

                  Comment


                  • #10
                    Only if you answer the Email I sent you, asking permission to use your skin graphics in my app...
                    (btw - have you got the ME source then? I asked if I could 'join up' and help with the project a couple of times but was ignored, so I decided - if you can't join 'em - beat 'em! )
                    Nehemiah M10000 board, 512Mb RAM, Win98'lite', 7" TFT DIN in-dash VGA touchscreen. IR keyboard. GPS.

                    Comment


                    • #11
                      Originally posted by Vittel
                      Only if you answer the Email I sent you, asking permission to use your skin graphics in my app...
                      (btw - have you got the ME source then? I asked if I could 'join up' and help with the project a couple of times but was ignored, so I decided - if you can't join 'em - beat 'em! )
                      Not had chance to reply... got loads to get through.. basically as long as its not comercial and I and others get a link to your web site to watch it grow I have no problem... I can even throw in the sorce images

                      Re ME source, I am afraid you will have to ask Carcomp about that...

                      Terran
                      My Project Site

                      Comment


                      • #12
                        Ok ty
                        I'll tidy up the source (to embed Destinator) and send you the link for download - easier than copying/pasting etc - (I use VB6.)

                        Steve.
                        (PS, it's ok about ME source, I'm no longer after it - developing my own project now)
                        Nehemiah M10000 board, 512Mb RAM, Win98'lite', 7" TFT DIN in-dash VGA touchscreen. IR keyboard. GPS.

                        Comment


                        • #13
                          You wouldn't happen to have any ideas on theory for automatic routing systems in C++ would you? MapPoint etc was off limits for me due to having no maps for where I live so I have Garmin maps working in my own program/drawing and have most of the standard functions done (panning, zooming, speech recog, automatic recording of routes etc) but would like to add automatic route generation.. it's just really hard figuring out the theory to decide which roads to take to a destination from point a to b.

                          Originally posted by GTC
                          Hi Phil,

                          I'm currently writing everything in C++ and actually don't use the SDK much except to actually load the Destinator engine and get routing information ...
                          ...

                          cheers,

                          Brendon

                          Comment


                          • #14
                            mian34,

                            Unfortunately no ... I use the built in locating functions, providing merely start and end points ...

                            As it happens though, I was talking to a gentlemen at a small computer store as I was picking up a new MB, and we were chatting about CarPCs ... he pointed me to:

                            https://sourceforge.net/projects/linuxcar/

                            While he hadn't checked it out fully, he believed that there's some open-source routing algorithms available. It might be a good place to start if you haven't checked it out yet.

                            Off the top of my head, I would think that you'd have to have a fairly good understanding of the data ... I'm not sure which way your approaching things, but I've dissected the SDAL format from NavTech and I doubt I would have been able to do it in a reasonable time without the documentation provided by NavTech. Does Garmin provide such information, or is the format easily understandable? It sounds like you have an interesting project going!

                            cheers,

                            GTC

                            Comment


                            • #15
                              most of my navigator is from the public domain MapEdit, the author is pretty cool and the format it puts the map in was pretty much perfect for me to expand on, and improving the display (MapEdit only uses 1 pixel lines for roads so it looks a bit cheesy), i'll attach an ss of a current rendering of the navigator and music screens.

                              most objects on the map get put into an array based on the type of layer (point, polygon, polyline etc) so all you have todo is for loops.. finding the distance etc between two objects is easy providing metre precision so using that i loop through all the polylines (roads) and compare the distance to the current GPS position, from there the current direction you're heading (azimuth) is also compare to the azimuth/angle of the road to try cut out false detection in cross roads to tell what road you're travelling along and then get the label.. i have it go through all the roads and grab their street names then try figure out what suburb the street is in to add 'locate <street> <suburb>' voice recognition commands but it takes alooong time to compile the speech data for a given map for the first time, thankfully the binary data is able to be saved and then loaded from then on so it only needs to be done once.

                              thanks, i'll check out linux car and see if theres any good autoroute theory.

                              http://upload.nowherenews.com/img/50181588.jpeg
                              http://upload.nowherenews.com/img/98294614.jpeg
                              http://upload.nowherenews.com/img/57950352.jpeg
                              (lots of the gfx are from other sources most notably XBMP, am no good at gfx)

                              edit: heres some interesting theory, will take a while to weed through http://www.gisdevelopment.net/aars/a...6/ts6004.shtml

                              Comment

                              Working...
                              X