Mam stronę w php na smarty. Na tej stronie ma pojawiać się mapka Google.
Skrypt z mapką przekazuję do szablonu:
<?php $smarty -> assign('mapa', ' <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAidKehL1XT37W 3u9twGNbQhTmxHkKhONJMDc0GcPTIhwzPsWj-BRI9na2-SUQUQ2mCHlQJNEWpqu0DQ" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.addControl(new GLargeMapControl()); var point = new GLatLng('.$row['mapa'].'); var marker = new GMarker(point); var MapTypes = map.getMapTypes(); MapTypes[0].getName= function() { return "Mapa";} MapTypes[1].getName = function() { return "Satelitarna";} MapTypes[2].getName = function() { return "Hybrydowa";} map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng('.$row['mapa'].'), 15); map.addOverlay(marker); } } //]]> </script>'); ?>
W tych liniach:
var point = new GLatLng('.$row['mapa'].');
map.setCenter(new GLatLng('.$row['mapa'].'), 15);
$row['mapa'] są to współrzędne mapy pobrane z bazy danych.
Skrypt wstawiłem w nagłówku szablonu w HEAD:
<?php {$mapa} ?>
Wszystko idealnie działało i mapa wyświetlała się prawidłowo.
Wstawiłem w nagłówku kolejny skrypt do ukrywania divów:
Od tego momentu skrypt z mapą nie działa prawidłowo (nie pokazuje właściwej pozycji na mapie), natomiast drugi skrypt działa prawidłowo.
Gdzie tkwi błąd? Próbowałem już na wszystkie sposoby np. zamieniałem skrypty miejscami, zmieniałem nazwy zmiennych w drugim skrypcie i też nic.