Kobraz Skrevet 25. mai 2015 Del Skrevet 25. mai 2015 Jeg holder på å lage en nettside hvor du får opp din egen ip-adresse + kart som viser lokasjon. Problemet er å få variabelen $latlon fra php-koden og inn i javascript-koden som viser kartet. Kan noen hjelpe meg? Min kode så langt: <!DOCTYPE html> <html> <head> <?php $ip = $_SERVER['REMOTE_ADDR']; $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json")); $latlon = $details->loc; ?> <script> function initialize() { var mapProp = { center: new google.maps.LatLng($latlon), zoom:7, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("googleMap"),mapProp); } function loadScript() { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "http://maps.googleapis.com/maps/api/js?key=&sensor=false&callback=initialize"; document.body.appendChild(script); } window.onload = loadScript; </script> </head> <body> <?php echo $details->ip; echo "<br>"; echo $details->hostname; echo "<br>"; echo $details->loc; echo "<br>"; echo $details->org; echo "<br>"; echo $details->city; echo "<br>"; echo $details->region; echo "<br>"; echo $details->contry_name; echo "<br>"; echo $details->phone; echo "<br>"; echo "<br>"; echo $latlon; ?> <div id="googleMap" style="width:500px;height:500px;"></div> </body> </html> Lenke til kommentar
Kobraz Skrevet 25. mai 2015 Forfatter Del Skrevet 25. mai 2015 Da har jeg funnet løsningen: <?php echo $latlon ?> Lenke til kommentar
trondes Skrevet 25. mai 2015 Del Skrevet 25. mai 2015 function initialize() { var mapProp = { center: new google.maps.LatLng($latlon), zoom:7, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("googleMap"),mapProp); } Du må bruke <?php ?> for å hente ut variabler function initialize() { var mapProp = { center: new google.maps.LatLng(<?php echo $latlon; ?>), zoom:7, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("googleMap"),mapProp); } Noen servere støtter også <?= $latlon;?> Lenke til kommentar
Kobraz Skrevet 26. mai 2015 Forfatter Del Skrevet 26. mai 2015 function initialize() { var mapProp = { center: new google.maps.LatLng($latlon), zoom:7, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("googleMap"),mapProp); } Du må bruke <?php ?> for å hente ut variabler function initialize() { var mapProp = { center: new google.maps.LatLng(<?php echo $latlon; ?>), zoom:7, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("googleMap"),mapProp); } Noen servere støtter også <?= $latlon;?> Ja, stemmer det. Fant løsningen etter litt googling, men takk for svar uansett Lenke til kommentar
Lanes Skrevet 27. mai 2015 Del Skrevet 27. mai 2015 Det betyr vel ikke så mye i denne sammenheng, men det er generelt sett bedre å skrive ut variable inn i html syntaksen, og deretter lese disse inn i javascript på load, slik at klienten kan cache javascriptet. Det innebærer jo også at du må ha javascriptet i en egen fil (som igjen er best-practice). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå