Kaart op de website

Status
Niet open voor verdere reacties.

Eibers

Gebruiker
Lid geworden
11 dec 2014
Berichten
82
Sinds geruime tijd heb ik een kaart op de website. Uit de database haal ik de coördinaten van een bepaalde plaats.
Een en ander werkte tot voor kort prima.
Sinds kort wordt de kaart nog wel weergegeven op Chrome en Edge, maar niet meer op Firefox.
Wat is hier aan de hand?
Mijn script is als bijlage toegevoegd.
 

Bijlagen

  • script.docx
    13 KB · Weergaven: 52
Laatst bewerkt:
Kunnen we het ergens bekijken en testen?
Vanuit een docx-document (waarom?) gaat dit niet echt handig debuggen worden.
 
<head>
<script src="http://maps.google.com/maps?file=APICODE"
type="text/javascript"></script>
</head>

<body>
<?php
$l = 4.8951;
$b = 52.3702;
$pl = "Amsterdam";
echo "Test: kaart, positie $pl<br>";
?>

<Table style='position: absolute; top: 12%; left: 3%; width: 80%;'>
<TR>
<?php
if ($l <> "" AND $b <> "") {
?>
<TD style='width: 40%;'><div id="map" style="width: 475px; height: 475px"></div></TD>
<?php }
else echo "<TD style='width: 40%;'>&nbsp;"
?>
</Table>

<script type="text/javascript">
//<![CDATA[

var iconbig = new GIcon(); //groot icon
iconbig.image = "http://www.google.com/mapfiles/marker.png";
iconbig.shadow = "http://www.google.com/mapfiles/shadow50.png";
iconbig.iconSize = new GSize(20, 34);
iconbig.shadowSize = new GSize(37, 34);
iconbig.iconAnchor = new GPoint(6, 34);
iconbig.infoWindowAnchor = new GPoint(5, 1);

var map = new GMap(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(<?php echo "$b, $l";?>), 8);
map.addControl(new GOverviewMapControl());
// Creates a marker whose info window displays the given number
function createMarker(point, icon, number) {
var marker = new GMarker(point, icon);
// Show this markers index in the info window when it is clicked
var html = number;
GEvent.addListener(marker, "click", function() {});
return marker;
};
<?php
echo "var point = new GLatLng(" . $b . "," . $l . ");\n";
echo "var marker = createMarker(point, iconbig,'<div id="infowindow" >" . addslashes(" ") ."</div>',iconbig);\n";
echo "map.addOverlay(marker);\n\n";
?>
//]]>
</script>
 
Staat het ergens online?

Ik wil niet veeleisend zijn, maar zo kunnen we makkelijker debuggen.
 
Alleen op de 'echte' website, en die vrij geven wordt me te dol.
Voor een ander domein zou ik een domeinnaam moeten vragen, en een API_code.
 
Zet het anders op JSfiddle, of maak even een aparte testcase aan in een los bestand.
Dat is vrij gewoonlijk in zulke situaties.
 
Werkt niet op JSfiddle: geen PHP, kan ik omwerken naar html (variabele als vast ingeven),
maar de API-code werkt natuurlijk niet: dit is een ander domein.
 
Dan moet je toch even een oplossing zoeken. Desnoods even op je webserver parkeren, wat mij weinig moeite lijkt.
 
Grote verrassing: vandaag doet Firefox weer wat ik verwacht.
Ik heb niets aan het script veranderd ...:mad:
 
It's magic....
 
Probeer dit eens
Code:
<table style='position: absolute; top: 12%; left: 3%; width: 80%;'>
<tr>
<?php
if (($l . $b) != "") {
  ?>
  <td style='width: 40%;'>
  <div id="map" style="width: 475px; height: 475px;"></div>
  </td>
  <?php
} else
  echo '<td style="width: 40%;">&nbsp;</td>';
?>
</tr>
</table>

of de if regel dit
Code:
// in het voorbeeld geef je floats, geen strings
// volgende regel nog aan goede datatype aanpassen.
// empty() reageert op 0 dus kan misschien niet worden gebruikt
if (!empty($l) && !empty($b)) {

en eventueel dit
Code:
<?php
echo "var point = new GLatLng(", $b, ",", $l, ");";
echo "var marker = createMarker(point, iconbig,'", '<div id="infowindow">', addslashes(" "), "</div>', iconbig);";
echo "map.addOverlay(marker);";
?>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan