Hjælp til google maps API

Tags:    javascript


Jeg har en side som hedder latestposition.php.
Meningen er at den skal vise et google map

Dette her script virker fint, hvis man går ind på siden DIREKTE fra addresse-baren:


<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAATccivc2yk9iDlRNANcn_9BSKvN9kLo03cnaerKrQ_UeYokqROxSx_BCYKmTbikatOvxf-ICQQLQTqw"></script>
<script type="text/javascript">
google.load("maps", "2.x");

// Call this function when the page has been loaded
function initialize() {
var map = new google.maps.Map2(document.getElementById("map"));
map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13);
}
google.setOnLoadCallback(initialize);
</script>
</head>

<body onload="initialize()">

<div id="map" style="width: 200px; height: 200px">

</div>
<p>test</p>

</body>

Men når jeg bruger nedenstående AJAX funktion til at vise latestposition.php i en DIV på forsiden, viser den ikke google mappet men kun teksten "test" ..



/***********************************************
* Ajax Includes script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

//To include a page, invoke ajaxinclude("afile.htm") in the BODY of page
//Included file MUST be from the same domain as the page displaying it.

var rootdomain="http://"+window.location.hostname

function ajaxinclude(url, containerid) {
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.open('GET', url, false) //get page synchronously
page_request.send(null)
writecontent(page_request, containerid)
}

function writecontent(page_request, containerid){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)

document.getElementById(containerid).innerHTML=page_request.responseText;

}

-----------------------------------

Nogen der ved hvordan jeg fixer dette problem, så google mappet også bliver vist, og ikke kun teksten??






Indlæg senest redigeret d. 02.07.2010 21:47 af Bruger #15981
7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Din map-kode er afhængig af onload-eventet, og når du inkluderer den fra en XHR, så er onload for længst ovre når indholdet indlæses.

Fjern din
<body onload="initialize()">

og indsæt i stedet under din #map:

<script type="text/javascript">initialize()</script>

Så indlæses kortet så snart #map div'en er indsat.



Jeg har skrevet

<script type="text/javascript">initialize()</script>

i min MAP div

og derudover har jeg laver en alert("test"); i initialize(). Men jeg får ikke nogen alert box, og mappet bliver stadigv ikke vist?



Indlæg senest redigeret d. 02.07.2010 22:57 af Bruger #15981
Prøv lige at give et link til en side som viser det.



www.androidtheftguard.com/login/

du skal ind og oprette en bruger, det tager 2 sek og du får ikke nogen aktiverings email (skal nok slette den bagefter :P) ..


Derefter skal du logge ind, og gå ind på "Check latest position" i controlpanel menuen. Der skulle siden maptest.html gerne komme frem (du kan også komme ind på den her: www.androidtheftguard.com/login/maptest.html

bemærk: Jeg har ændret siden lidt så containeren hedder map_canvas i stedet for map



Indlæg senest redigeret d. 02.07.2010 23:15 af Bruger #15981
du har sat din initialize(); inden i din div i stedet for efter din div. Jeg er ikke sikker på om det kan give problemer.

Der er en fejl på din signup side:

Parse error: syntax error, unexpected '>' in /customers/androidtheftguard.com/androidtheftguard.com/httpd.www/login/checkregistrationform.php on line 133



Doh.

Brug denne bruger:

jesper@jesper1.com
kode: 1234

okay det fixer jeg lige



Aah, jeg havde glemt at innerHTML ikke udfører scripts. Du kan finde en masse workarounds ved at Google "script innerhtml". Fx http://poeticcode.wordpress.com/2007/10/03/innerhtml-and-script-tags/



t