Bug 474176 - Add more third party geolocation map api support
Summary: Add more third party geolocation map api support
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Geolocation-Engine (show other bugs)
Version: 8.1.0
Platform: unspecified All
: NOR wishlist
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-05 07:14 UTC by Kane
Modified: 2024-01-02 06:13 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 8.3.0
Sentry Crash Report:


Attachments
google map error on 8.3 (76.95 KB, image/png)
2023-12-31 02:20 UTC, Kane
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kane 2023-09-05 07:14:23 UTC
SUMMARY
Digikam now uses serveral great map providers when viewing/modifying geo data. However, all current map services in Digikam has a poor internet connection from where I lived (China). Is it possible to provide configuation for customized map provider? Or is it possible to intergrade some other map provider (e.g: amap.com) in future? 
I know there's on English support of the API document of our local map providers, but I can offer some help if needed.

Thanks!
Comment 1 Maik Qualmann 2023-09-05 09:45:59 UTC
Would support for a proxy server, as requested in Bug 379608, be a solution?

Maik
Comment 2 Kane 2023-09-05 09:53:51 UTC
Hi Maik,

Thanks for looking into this, and I just read 379608. Yes, proxy will be a nice work around. 
But still, I wonder if you can consider my original request in a future, possible to-do list? For me, this is just a wish list here :-)
Please close the ticket, and I'm looking forward to the proxy in the next version :-D

Thanks!
Comment 3 caulier.gilles 2023-09-05 10:42:02 UTC
The map view in digiKam is mostly managed by the Marble widget :

https://marble.kde.org/

digiKam use only the marble library to render the map, excepted the GoogleMap where code is located in digiKam.

1/ Marble can support new service by plugin to write.
2/ Marble is in low maintenance stage for the moment.
3/ digiKam still waiting a Qt6 port.

Maik, for the point 3/, KF6 framework will replace KF5 in next moth when all major applications will be ported to Qt6. the date range is between November 2023 and April 2024. KF5 is planed to switch from 1 month to 3 months step as release dates in the future.

Gilles
Comment 4 Kane 2023-09-06 23:08:28 UTC
Hi Gilles,

Do you mean it's possible to write a plugin for digikam to use extra map providder?
I'm not asking you guys to write the plugin, I'm just asking the posibility. If it's possible, maybe I'll try myself

Thanks,
Kane
Comment 5 caulier.gilles 2023-09-07 01:28:01 UTC
yes it is.

Marble plugins implementation are located here :

https://invent.kde.org/education/marble/-/tree/master/src/plugins?ref_type=heads

Best

Gilles Caulier
Comment 6 Kane 2023-09-07 08:31:27 UTC
(In reply to caulier.gilles from comment #5)
> yes it is.
> 
> Marble plugins implementation are located here :
> 
> https://invent.kde.org/education/marble/-/tree/master/src/
> plugins?ref_type=heads
> 
> Best
> 
> Gilles Caulier

Thanks Gilles, just checked the link, looks like this is out of my current ability, but maybe I'll try it someday in future :)
Comment 7 caulier.gilles 2023-09-07 08:39:50 UTC
At least you can contact Marble team for a feedback using bugzilla...
Comment 8 Kane 2023-09-08 02:08:57 UTC
yes, that's a good idea :)
Comment 9 caulier.gilles 2023-12-22 14:08:08 UTC
Maik, Kane,

I add a Proxy support in next 8.3.0. Settings is located in Miscs/System view.

https://i.imgur.com/BENF2JK.png

Typically, code use QNetworkProxy and will be used with QtWebEngine and QNetworkManager session. Here i don't have a proxy suitable to test, but code come from Marble originally (now integrated in digiKam as a tiny internal component)

So my Q is : this solves this entry ?

Gilles Caulier
Comment 10 Kane 2023-12-31 02:20:21 UTC
Created attachment 164566 [details]
google map error on 8.3
Comment 11 Kane 2023-12-31 02:26:03 UTC
(In reply to caulier.gilles from comment #9)
> Maik, Kane,
> 
> I add a Proxy support in next 8.3.0. Settings is located in Miscs/System
> view.
> 
> https://i.imgur.com/BENF2JK.png
> 
> Typically, code use QNetworkProxy and will be used with QtWebEngine and
> QNetworkManager session. Here i don't have a proxy suitable to test, but
> code come from Marble originally (now integrated in digiKam as a tiny
> internal component)
> 
> So my Q is : this solves this entry ?
> 
> Gilles Caulier

Hi Gilles,

Thanks for working on the proxy support.
I just tested on this build:
Build date: 2023/12/30 15:10 (target: Debug)
Revision: 8840c12c6343cd9b4cd08bfb424477f039c04a1c
Branch: master

the proxy works, but there's an error loading google maps, see attached "google map error on 8.3 (76.95 KB, image/png)".
I searched the message on internet and looks like it's due to API key, not sure if you guys using google map without proxy have same error there?
btw, I'm curious, besides the online map data, is there any other traffic going though the proxy? (there shouldn't be much traffic over internet from Digikam, is it?)

Thanks and Happy New Year!
Comment 12 Maik Qualmann 2023-12-31 08:41:39 UTC
See Bug 433732 for this error message. For an Google Maps API key, a billing account must be set up with Google. You can create your own Google Maps API key and set it in digiKam to deactivate the message.

Maik
Comment 13 caulier.gilles 2023-12-31 13:17:06 UTC
Kane,

If you want to test the current pre-release bundle 8.3.0 which includes all last patch to support Google Maps API key, files are there :

https://files.kde.org/digikam/

Happy new year...

Gilles Caulier
Comment 14 Kane 2024-01-01 23:20:33 UTC
Hi Maik & Gilles,

Thanks for the reply, after I applied my own google map API key, the watermark is now gone.

Br,
Shikai