<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body smarttemplateinserted="true" text="#000000" bgcolor="#FFFFFF">
    <div id="smartTemplate4-quoteHeader">Thu, 18 Dec 2014 18:07:18
      +0100 David van rijn <a class="moz-txt-link-rfc2396E" href="mailto:davidvanrijn@gmail.com"><davidvanrijn@gmail.com></a>:</div>
    <blockquote
cite="mid:CAG-tGJj_VhuF=o_Qk03P_hJXWL_5t6n-xZ9XX4m23NBTM4HNJA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>Thanks for the feedback :)<br>
                <br>
              </div>
              I had already looked a bit at the monav stuff because i
              had it on my N900, but like you said, it seems abandoned,
              so i didn't feel like using it.<br>
              <br>
            </div>
            <div>But the Mapbox GL definitely looks primising, i will
              have a look at it later.<br>
            </div>
            <div><br>
            </div>
            I did not know about the qml pinchmap.  I have tried out
            modrana though, and it seems a bit crude, because it's
            written in python, and i can imagine (correct me if i'm
            wrong) that implementing the whole element in qml is a bit
            recource-unfriendly if you compare it to the low-level c++ <i>updatePaintNode()</i>
            method.<br>
          </div>
        </div>
      </div>
    </blockquote>
    Well, I'm actually to this day kinda surprised how well it works,
    considering how it is implemented. Most probably thanks to the
    original clever idea the AGTL developer had of using a fixed tile
    grid and just shifting the coordinates of the tiles in the grid when
    panning the map. The QtQuick image cache then takes care of all the
    tile caching for you and it works surprisingly well. On the other
    hand the hack[0][1] I had to implement to enable really asynchronous
    tile download with caching is just plain crazy, but works. :)<br>
    <br>
    The QML-only nature of the widget also helps to avoid more C/C++
    dependencies that unlike the pure-Python/QML based modRana would
    need to be compiled for the various platforms where modRana is
    running and it also makes it easier to adapt it to the various
    specific modRanas needs. :)<br>
    <br>
    Still I would not mind adding support for an alternative map widget,
    integrating it with the current one or maybe even using it by
    default if fits to modRanas requirements better than the current
    solution. :)<br>
    <blockquote
cite="mid:CAG-tGJj_VhuF=o_Qk03P_hJXWL_5t6n-xZ9XX4m23NBTM4HNJA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div><br>
            <br>
          </div>
          I think it would be really cool if it is possible to have all
          apps use the same maps, and have those be configurable
          somewhere central (like in the settings app).<br>
        </div>
      </div>
    </blockquote>
    Actually I've tried to propose a common map data storage location
    for the Jollas micro SD card a while ago on this list[3] in a thread
    called "[SailfishDevel] [RFC] Well known map data path" but it
    unfortunately did not get any traction back then. So maybe the
    proposal can be salvaged or even extended to cover map data sharing
    in internal storage ?<br>
    <br>
    BTW, shared map data storage worked/works quite nicely on the N900 -
    there is /home/user/MyDocs/.maps folder that various third part
    mapping and navigation apps (modRana, Mappero, Maep, Cloud GPS,
    etc.) use for storing & sharing map tiles. So it would be nice
    to have the same thing also on the Jolla/Sailfish OS. :)<br>
    <br>
    Actually, there already seem to be some early positive results from
    users enabling tile sharing between modRana and Poor Maps[3]. :)<br>
    <br>
    <blockquote
cite="mid:CAG-tGJj_VhuF=o_Qk03P_hJXWL_5t6n-xZ9XX4m23NBTM4HNJA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
          <br>
        </div>
        cheers,<br>
        <br>
        David<br>
      </div>
    </blockquote>
    Regards<br>
    <br>
    Martin<br>
    <br>
    [0]
<a class="moz-txt-link-freetext" href="https://github.com/M4rtinK/modrana/blob/master/modules/gui_modules/gui_qt5/gui_qt5.py#L549">https://github.com/M4rtinK/modrana/blob/master/modules/gui_modules/gui_qt5/gui_qt5.py#L549</a><br>
    [1]
<a class="moz-txt-link-freetext" href="https://github.com/M4rtinK/modrana/blob/master/modules/gui_modules/gui_qt5/qml/Tile.qml#L35">https://github.com/M4rtinK/modrana/blob/master/modules/gui_modules/gui_qt5/qml/Tile.qml#L35</a><br>
    [2]
    <a class="moz-txt-link-freetext" href="https://lists.sailfishos.org/pipermail/devel/2014-March/003731.html">https://lists.sailfishos.org/pipermail/devel/2014-March/003731.html</a><br>
    [3] <a class="moz-txt-link-freetext" href="http://talk.maemo.org/showthread.php?p=1451148#post1451148">http://talk.maemo.org/showthread.php?p=1451148#post1451148</a><br>
    <br>
    <br>
    <blockquote
cite="mid:CAG-tGJj_VhuF=o_Qk03P_hJXWL_5t6n-xZ9XX4m23NBTM4HNJA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div><br>
          </div>
        </div>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">2014-12-18 0:16 GMT+01:00 Martin
            Kolman <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:martin.kolman@gmail.com" target="_blank">martin.kolman@gmail.com</a>></span>:
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
              0.8ex;border-left:1px solid
              rgb(204,204,204);padding-left:1ex">
              <div bgcolor="#FFFFFF">
                <div>Wed, 17 Dec 2014 16:04:31 +0100 David van rijn <a
                    moz-do-not-send="true"
                    href="mailto:davidvanrijn@gmail.com" target="_blank"><davidvanrijn@gmail.com></a>:</div>
                <blockquote type="cite">
                  <div dir="ltr"><span style="font-size:13px"><br>
                      Hello,<br>
                    </span></div>
                </blockquote>
                Hi!<span class=""><br>
                  <blockquote type="cite">
                    <div dir="ltr"><span style="font-size:13px"><br>
                        I am writing a qml component to display a slippy
                        map (eg. google maps).<br>
                        (You can look at the code at <a
                          moz-do-not-send="true"
                          href="https://github.com/unsanded/harbour-mapp"
                          target="_blank">https://github.com/unsanded/harbour-mapp</a>.)<br>
                        <br>
                        The idea is to be able to add maps in qml by
                        just typing something like:<br>
                        SlippyMap{<br>
                          GoogleMapsProvider{<br>
                            apiKey: "blabla"<br>
                          }<br>
                        }<br>
                        I have a few questions about this:<br>
                        <br>
                      </span><span style="font-size:13px">   - Can it,
                        at some point, become a library for others to
                        use?</span><br style="font-size:13px">
                    </div>
                  </blockquote>
                </span> Could be certainly interesting and useful! :)<span
                  class=""><br>
                  <br>
                  <blockquote type="cite">
                    <div dir="ltr"><span style="font-size:13px">   -
                        What is the best way to implement offline
                        maps/routing?</span><br style="font-size:13px">
                    </div>
                  </blockquote>
                </span> For offline routing the routino routing
                utility[0] currently looks like the best bet for
                Sailfish.<br>
                I have already managed to build it's package for
                Sailfish[1] and it appears to be working fine. :)<br>
                <br>
                Another candidate could be the Monav[2] routing daemon,
                but it's upstream is dead, it depends on Qt 4 and its
                source<br>
                code has been bit-rotting rather badly. <br>
                <br>
                As for offline map rendering, the Mapbox GL native
                widget[3] looks like the best bet, if it could be
                wrapped in a QML element! :) <br>
                <br>
                I even suggested the QML integration to the Mapbox
                people, but they unfortunately replied that they are not
                interested in doing that themselves (most probably not
                to canobalize their iOS & Android SDKs with a
                superio solution ;-) ).<span class=""><br>
                  <br>
                  <blockquote type="cite">
                    <div dir="ltr"><span style="font-size:13px">   - Is
                        anyone eager to join the project?</span>
                      <div>   - any other feedback?<br
                          style="font-size:13px">
                      </div>
                    </div>
                  </blockquote>
                </span> Many current Sailfish OS applications are using
                the QML-only PinchMap QML element, originally from AGTL,
                for example:<br>
                * modRana[4]<br>
                * FourSail[5]<br>
                On the other hand the Poor Maps application has a custom
                solution based on enhanced QtLocation Map element.<br>
                <br>
                So maybe have a look how these work and what features
                these applications expect as inspiration work on your
                project. :)<br>
                <blockquote type="cite">
                  <div dir="ltr">
                    <div><br style="font-size:13px">
                      <br style="font-size:13px">
                      <span style="font-size:13px">Cheers,</span><br
                        style="font-size:13px">
                      <br style="font-size:13px">
                      <span style="font-size:13px">David</span><br>
                    </div>
                  </div>
                </blockquote>
                Best Wishes<br>
                Martin Kolman<br>
                (main modRana developer)<br>
                <br>
                [0] <a moz-do-not-send="true"
                  href="http://www.routino.org/" target="_blank">http://www.routino.org/</a><br>
                [1] <a moz-do-not-send="true"
href="https://build.merproject.org/package/show/home:MartinK:sailfish/routino"
                  target="_blank">https://build.merproject.org/package/show/home:MartinK:sailfish/routino</a><br>
                [2] <a moz-do-not-send="true"
                  href="https://code.google.com/p/monav/"
                  target="_blank">https://code.google.com/p/monav/</a><br>
                [3] <a moz-do-not-send="true"
                  href="https://github.com/mapbox/mapbox-gl-native/"
                  target="_blank">https://github.com/mapbox/mapbox-gl-native/</a><br>
                [4]
                <a moz-do-not-send="true"
href="https://github.com/M4rtinK/modrana/blob/master/modules/gui_modules/gui_qt5/qml/PinchMap.qml"
                  target="_blank">https://github.com/M4rtinK/modrana/blob/master/modules/gui_modules/gui_qt5/qml/PinchMap.qml</a><br>
                [5]
                <a moz-do-not-send="true"
href="https://gitorious.org/foursail/foursail/source/31644f69c670f5f012f98bee641e1b7e50ba4e1f:qml/PinchMap.qml"
                  target="_blank">https://gitorious.org/foursail/foursail/source/31644f69c670f5f012f98bee641e1b7e50ba4e1f:qml/PinchMap.qml</a><br>
              </div>
              <br>
              _______________________________________________<br>
              SailfishOS.org Devel mailing list<br>
              To unsubscribe, please send a mail to <a
                moz-do-not-send="true"
                href="mailto:devel-unsubscribe@lists.sailfishos.org">devel-unsubscribe@lists.sailfishos.org</a><br>
            </blockquote>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to <a class="moz-txt-link-abbreviated" href="mailto:devel-unsubscribe@lists.sailfishos.org">devel-unsubscribe@lists.sailfishos.org</a></pre>
    </blockquote>
    <br>
    <br>
    <div id="smartTemplate4-template"> </div>
  </body>
</html>