Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Open source map plug in for QML

Open source map plug in for QML

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
34 Posts 7 Posters 15.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • michaelLM Offline
    michaelLM Offline
    michaelL
    wrote on last edited by
    #1

    Hi,

    i tryied the "mapviewer" example and want to use another open source map instead of the "osm" one.
    There are only three available Map plugin OpenSource, Mapbox, HERE.
    But i want to use this open source map http://openseamap.org
    How can i do my own plug in?
    Is there a way to do it?

    V 1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      Sure you can, take a look at the qtlocation sources, you'll find there osm plugins as well as the others. You can take inspiration from them.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • michaelLM michaelL

        Hi,

        i tryied the "mapviewer" example and want to use another open source map instead of the "osm" one.
        There are only three available Map plugin OpenSource, Mapbox, HERE.
        But i want to use this open source map http://openseamap.org
        How can i do my own plug in?
        Is there a way to do it?

        V Offline
        V Offline
        vladstelmahovsky
        wrote on last edited by
        #3

        @michaelL you cat take a look at my plugins here https://github.com/vladest

        T 1 Reply Last reply
        3
        • michaelLM Offline
          michaelLM Offline
          michaelL
          wrote on last edited by
          #4

          Hi,

          thanks for replay.
          I added the osm.mapping.host parameter on the "mapviewer" example with the open sea map:
          parameters.insert("osm.mapping.host", "http://tiles.openseamap.org/seamark/");

          But still i dont see the map.
          In the example i go to "MapType" and select "custom URL Map".

          Any idea?

          1 Reply Last reply
          0
          • michaelLM Offline
            michaelLM Offline
            michaelL
            wrote on last edited by
            #5

            Hi vladstelmahovsky,

            how can i use your googlemap plugin in the mapviewer example?

            1 Reply Last reply
            0
            • T Offline
              T Offline
              TonyN
              wrote on last edited by
              #6

              @vladstelmahovsky I copied the libqtgeoservices_googlemaps.so into plugins/geoservices among others (osm, mapbox, here). Then I run the sample app MapViewer. MapViewer see the plugin, but it come back say "Set googlemaps.map.apikey with google maps application key, supporting static maps."
              Where do I set this apikey?
              How do I obtain the key? Does Google issue it?

              Thanks

              1 Reply Last reply
              0
              • T Offline
                T Offline
                TonyN
                wrote on last edited by
                #7

                Nevermind, I solved the problem.

                1 Reply Last reply
                0
                • V vladstelmahovsky

                  @michaelL you cat take a look at my plugins here https://github.com/vladest

                  T Offline
                  T Offline
                  TonyN
                  wrote on last edited by
                  #8

                  @vladstelmahovsky Your plugin works really cool though. I probably will look into source code and make my own to load map locally from file or database

                  V 1 Reply Last reply
                  0
                  • T TonyN

                    @vladstelmahovsky Your plugin works really cool though. I probably will look into source code and make my own to load map locally from file or database

                    V Offline
                    V Offline
                    vladstelmahovsky
                    wrote on last edited by vladstelmahovsky
                    #9

                    @TonyN actually, QtLocation itself handles caching of the data and you can provide your own cache mechanisms, afaik

                    1 Reply Last reply
                    2
                    • michaelLM Offline
                      michaelLM Offline
                      michaelL
                      wrote on last edited by
                      #10

                      @TonyN

                      where did you found this file "libqtgeoservices_googlemaps.so" and the "plugins" folder?
                      I couldnt fin any plugins folder on the Qt installation directory.

                      1 Reply Last reply
                      0
                      • michaelLM Offline
                        michaelLM Offline
                        michaelL
                        wrote on last edited by
                        #11

                        @TonyN i found one plugins folder here C:\Qt\5.6\mingw49_32\plugins\geoservices
                        But inside there is only .dll files.

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          @michaelL you have to build and install the plugin yourself.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          0
                          • michaelLM Offline
                            michaelLM Offline
                            michaelL
                            wrote on last edited by
                            #13

                            @SGaist so i build it and install it insite mingw32:

                            qmake googlemaps.pro
                            mingw32-make
                            mingw32-make install

                            And when i ran the example the plugin was there but the map didnt came up and gave me this erro message:
                            QGeoTileRequestManager: Failed to fetch tile (543,298,10) 5 times, giving up. Last error message was: 'Set googlemaps.maps.apikey with google maps application key, supporting static maps'

                            Any idea?

                            V 1 Reply Last reply
                            0
                            • michaelLM Offline
                              michaelLM Offline
                              michaelL
                              wrote on last edited by
                              #14

                              @vladstelmahovsky i saw you had the same issue.
                              i generate my google api key now but i dont know where to put it.
                              How did you solve it?

                              1 Reply Last reply
                              0
                              • michaelLM michaelL

                                @SGaist so i build it and install it insite mingw32:

                                qmake googlemaps.pro
                                mingw32-make
                                mingw32-make install

                                And when i ran the example the plugin was there but the map didnt came up and gave me this erro message:
                                QGeoTileRequestManager: Failed to fetch tile (543,298,10) 5 times, giving up. Last error message was: 'Set googlemaps.maps.apikey with google maps application key, supporting static maps'

                                Any idea?

                                V Offline
                                V Offline
                                vladstelmahovsky
                                wrote on last edited by
                                #15

                                @michaelL well, have you added PluginParameter {} to your google Plugin {} instance with googlemaps.maps.apikey ?

                                1 Reply Last reply
                                0
                                • michaelLM Offline
                                  michaelLM Offline
                                  michaelL
                                  wrote on last edited by
                                  #16

                                  @vladstelmahovsky no where do i set this parameter? On the plugin or on the mapviewer example?

                                  V 1 Reply Last reply
                                  0
                                  • michaelLM michaelL

                                    @vladstelmahovsky no where do i set this parameter? On the plugin or on the mapviewer example?

                                    V Offline
                                    V Offline
                                    vladstelmahovsky
                                    wrote on last edited by
                                    #17

                                    @michaelL in the mapviewer. something like this:
                                    Plugin {
                                    id: gmapsPlugin
                                    name: "googlemaps"
                                    locales: "en_EN"
                                    PluginParameter {
                                    name: "googlemaps.useragent"
                                    value: "<your user agent>"
                                    }
                                    PluginParameter {
                                    name: "googlemaps.route.apikey"
                                    value: "<put your api key here>"
                                    }
                                    PluginParameter {
                                    name: "googlemaps.maps.apikey"
                                    value: "<put your api key here>"
                                    }
                                    PluginParameter {
                                    name: "googlemaps.maps.tilesize"
                                    value: "256"
                                    }
                                    }

                                    1 Reply Last reply
                                    1
                                    • michaelLM Offline
                                      michaelLM Offline
                                      michaelL
                                      wrote on last edited by
                                      #18

                                      @vladstelmahovsky On the mapviewer example i tryied on the QML File:

                                      Plugin{
                                      id: myPlugin
                                      name: "googlemaps"
                                      PluginParameter { name: "googlemaps.maps.apikey "; value: "https://maps.googleapis.com/maps/api/js?key=.............; }
                                      }

                                      Where "......" my googlemap key is.

                                      But it didnt worked.

                                      V 1 Reply Last reply
                                      0
                                      • michaelLM michaelL

                                        @vladstelmahovsky On the mapviewer example i tryied on the QML File:

                                        Plugin{
                                        id: myPlugin
                                        name: "googlemaps"
                                        PluginParameter { name: "googlemaps.maps.apikey "; value: "https://maps.googleapis.com/maps/api/js?key=.............; }
                                        }

                                        Where "......" my googlemap key is.

                                        But it didnt worked.

                                        V Offline
                                        V Offline
                                        vladstelmahovsky
                                        wrote on last edited by
                                        #19

                                        @michaelL value shold be ONLY api key. not full url. just api key

                                        1 Reply Last reply
                                        0
                                        • michaelLM Offline
                                          michaelLM Offline
                                          michaelL
                                          wrote on last edited by
                                          #20

                                          @vladstelmahovsky I tryied the api key only but i got the same error.
                                          Did you do anything else?

                                          V 1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved