Toon posts:

Google Maps - XML parse probleem in Firefox

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik denk dat ik mijn probleem het beste in deze categorie kan plaatsen, omdat een javascript problemen lijkt te geven. Het implementeren van google maps lokatiekaarten in een website is tegenwoordig simpel. Je hebt alleen een key (die voor een bepaalde URL/domein werkt) en een simpel javascriptje nodig en je hebt google maps op je site.

Om een simpel werkende lokatiekaart te tonen is onderstaande HTML nodig (voor http://localhost:8080/...)
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=3&amp;key=ABQIAAAAh6dLHnpljtB8dnyt1gB7LhTwM0brOpm-All5BF6PoaKBxRWWERSo9Ud5BS-EUZyLlPXFGqZT-lxwsQ">
&nbsp;
</script>
</head>

<body onload="loadGoogleMap();">
<div>
    <script type="text/javascript">

        function loadGoogleMap()
        {
            if (GBrowserIsCompatible())
            {
                var map = new GMap2(document.getElementById("map"));
                var point = new GLatLng(52.0000, 5.0000);
                map.setCenter(point, 16);
                map.addControl(new GMapTypeControl());
                map.addControl(new GLargeMapControl());

            }
        }
    </script>

    <div id="map" style="width: 500px; height: 300px">&nbsp;</div>
</div>

</body>
</html>


Nu heb ik echter geen HTML file maar een XML file die met een XSLT naar HTML geparsed wordt. De XML ziet er als volgt uit:
XML:
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="google.xsl" type="text/xsl"?>

<root>
    <locationmaps>
        <coordinates latitude="52.0000" longitude="5.0000"/>
    </locationmaps>
</root>

en de XSLT file:
XSLT:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/root">

<html>
<head>
<script type="text/javascript">
    <xsl:attribute name="src">http://maps.google.com/maps?file=api&v=3& amp;key=ABQIAAAAh6dLHnpljtB8dnyt1gB7LhTw
M0brOpm-All5BF6PoaKBxRWWERSo9Ud5BS-EUZyLlPXFGqZT-lxwsQ</xsl:attribute>
     
</script>
</head>

<body onload="loadGoogleMap();">
<div>
    <script type="text/javascript">

        function loadGoogleMap()
        {
            if(GBrowserIsCompatible())
            {
                var map = new GMap2(document.getElementById("map"));
                var point = new GLatLng(<xsl:value-of select="locationmaps/coordinates/@latitude"/>, <xsl:value-of select="locationmaps/coordinates/@longitude"/> );
                map.setCenter(point, 16);
                map.addControl(new GMapTypeControl());
                map.addControl(new GLargeMapControl());
            }
        }
    </script>

    <div id="map" style="width: 500px; height: 300px"> </div>
</div>

</body>
</html>
</xsl:template>
</xsl:stylesheet>


Als ik nu de XML file aanroep in Internet Explorer dan wordt ie netjes geparsed en het resultaat is hetzelfde als bij de HTML code hierboven: het kaartje wordt netjes getoond!

Wat is nu het probleem? Dit werkt niet in Firefox en ik heb geen idee waarom niet. Hij blijft 'hangen' op de javascript regel in de <head>. Het probleem is dat ik geen bron kan opvragen van wat er al wel geparsed is, omdat ie dat gewoon niet laat zien.

Iemand een idee waarom dit wel werkt in IE en niet in FF?

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Je moet even ook die eerste "&" in de URL veranderen naar "&". Waarom zet je trouwens je script in een div in de body, en niet in je head? Ook weet ik niet helemaal zeker of het handig is dat je je API-key hier zomaar hebt staan.

  • André
  • Registratie: Maart 2002
  • Laatst online: 27-11 10:04

André

Analytics dude

Die API key werkt toch maar op 1 domein, die kun je rustig publiceren. Die is trouwens bij elke app zo te zien.

  • UltimateB
  • Registratie: April 2003
  • Niet online

UltimateB

Pomdiedom

Heb helaas geen ervaring met XSLT maar die &v=3 die valt me wel op. Heeft dat een reden?

"True skill is when luck becomes a habit"
SWIS


Verwijderd

Topicstarter
De URL is op zich wel ok. Zal door het copy/pasten wel wat veranderd zijn. Er stond dus gewoon netjes & ipv &

  • UltimateB
  • Registratie: April 2003
  • Niet online

UltimateB

Pomdiedom

Die v=3 is echt vreemd hoor. Om de nieuwste versie te gebruiken is het toch v=2.x gebruiken. Of v=2 voor de voorlaatste versie.

"True skill is when luck becomes a habit"
SWIS


Verwijderd

Topicstarter
Ook met een v=2 blijft het in IE werken en in FF niet.
Blijkbaar is niemand nog tegen dit probleem aangelopen...
Pagina: 1