Avatar billede Kim Neesgaard Seniormester
16. august 2021 - 16:59 Der er 10 kommentarer og
1 løsning

Egen lokation i et embedded Google kort

Jeg har en side, der bruger nogle embeddede Googlekort, hvor HTML'en er taget fra Google, fx.:

<iframe src="https://www.google.com/maps/d/u/1/embed?mid=XXX" width="1280" height="960"></iframe>

Jeg havde håbet/forventet, at 'den blå kugle' (der angiver ens egen position) også blev vist på det embeddede kort, men det sker desværre ikke.

Kan man få lokationsangivelsen inkluderet på det embeddede kort med yderligere kode eller andet?
Avatar billede claes57 Ekspert
16. august 2021 - 17:25 #1
du (din konto) er ikke logget ind der, så 'du' er nok på kortet, men kan være en standardbruger i Californien.
Avatar billede Kim Neesgaard Seniormester
16. august 2021 - 18:06 #2
Nej - det lyder jo rigtigt! Jeg har lavet en speciel Googlebruger til at redigere de kort, jeg viser embedded på en webside og punkterne, som denne bruger har plottet ind på kortet, vises fint nok. Kan man på nogen måde kodemæssigt logge ind som denne bruger?
Avatar billede claes57 Ekspert
16. august 2021 - 18:34 #3
det afhænger så af, om en pc er logget på google med den id mens kortet vises. Kan du ikke klare den med et 'favoritpunkt' som din bruger har? (det vil så altid være det samme)
Avatar billede Kim Neesgaard Seniormester
16. august 2021 - 19:40 #4
Nu prøver jeg på en iPad og jeg har en Google maps åben med den specielle bruger logget på, men der vises stadig ikke ens lokation på det embeddede kort?
Jeg vil gerne have det sådan, at en bruger får vist sin egen position på kortet, så det virker ikke som om et 'favopritpunkt' kan bruges.
Avatar billede Kim Neesgaard Seniormester
25. august 2021 - 11:00 #5
Jeg har læst, at man skal være logget på websiden med https og jeg har også et certifikat installeret på min side, men min egen lokation vises desværre stadig ikke. Har du hørt om dette?
Avatar billede claes57 Ekspert
25. august 2021 - 11:43 #6
https er 'bare' at data fra dig til siden og retur er krypteret.
Avatar billede Kim Neesgaard Seniormester
01. september 2021 - 12:50 #7
Nu har jeg læst mig frem til, at man skal have et API på plads på siden, så brugeren kan sige ja/nej til deling af egen lokation til websiden og for at dette virker, skal siden køre som https.
Kan du hjælpe mig videre med et sådant API?
Avatar billede claes57 Ekspert
01. september 2021 - 13:09 #8
har du prøvet bare at skrive https:// foran din adresse? de fleste kan den uden videre, og så skal din kode i den skjulte fil .htaccess bare starte med
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L]
så vil alle, der går ind med http:// blive sendt til https:// (forskellen er, at kommunikation fra siden til/fra bruger krypteres)

mht API, så er jeg helt blank - men google har hjælp på https://developers.google.com/maps/documentation
Avatar billede Kim Neesgaard Seniormester
05. september 2021 - 08:42 #9
1/ Min side er sat op til https og jeg har indsat kode, som du viser, der redirecter til https.

2/ Mange tak for dit link! Dette - tror jeg - leder til noget af 'det rigtige' for at få vist yderlige kortdata på websiden. Jeg ser lige, hvad jeg selv formår at finde ud af og opretter evt. et tillægsspørgsmål om API kald/JS i en relevant gruppe.
Avatar billede Kim Neesgaard Seniormester
05. september 2021 - 08:44 #10
Hvis jeg på et tidspunkt får det til at virke, så skal jeg nok følge op med et referat af løsningen her i det aktuelle spørgsmål.
Avatar billede Kim Neesgaard Seniormester
07. december 2021 - 09:30 #11
Nu har jeg fundet en løsning på spørgsmålet og gengiver den her for fuldstændighedens skyld:

<%--Script skal køres i slutningen af 'body' for at undgå fejl med x.innerHTML--%>
    <script>

        var x = document.getElementById("lblGPS");

        function getLocation() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(showPosition);
            } else {
                x.innerHTML = "Geolocation is not supported by this browser.";
            }
        }

        function showPosition(position) {
            x.innerHTML = position.coords.latitude + ", " + position.coords.longitude;
        }
             
    </script>

Javascriptfunktionen 'getLocation()' kan køres fra fx. en knap (i mit tilfælde) og koordinaterne vil så vises i labelen 'lblGPS'.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester