[pmwiki-users] How to add a geolocalisation function to APE ?
Petko Yotov
5ko at 5ko.fr
Wed Oct 28 10:53:51 PDT 2020
On 28/10/2020 15:14, Benjamin Grassineau wrote:
> Do you think it would be possible to add a geolocalisation function to
> APE ? Or to create an independant function wich could be added by a
> markup ? It would be yet very useful for my website.
Do you mean having an Openstreetmap automatically centered, or insert a
pin, over the visitor's location? (1)
Or do you want an editor to be able to add a pin while editing the
source text of the wiki page? (2)
Some hosting providers (e.g. OVH) have an ip2location module installed
on their servers and you can get an approximate latitude and longitude
in PHP from the $_SERVER array. It shouldn't be complicated to create a
custom markup, or a GUI button, that inserts the coordinates in an APE
definition list.
While this would be easy and automatic, there are 2 difficulties --
1. The coordinates may be incorrect or missing for some users -- for
example my home location doesn't show, but others do.
2. If you change hosting providers it may not work on the new service.
> In fact, I've tried to do this with JavaScript but I did not arrived !
> It's true that I am not very cumfortable with this language. I tried
> to use the |getCurrentPosition()| method.
This would be the way to go for modern browsers, but it is done in 2
steps -- you first need to request location permissions from the
browser, and then if the visitor grants them you can request the
geographic coordinates. So depending on what you want to achieve (1) or
(2) above, it needs to be done differently. (1) needs to be implemented
in APE, (2) can be independent.
Here too it is not 100% reliable: the user may refuse to grant the
permissions, or the coordinates may be imprecise or incorrect, but this
as good as it gets.
Petko
More information about the pmwiki-users
mailing list