Dziwny problem z JS (GoogleMaps)

Odpowiedz Nowy wątek
2008-09-13 15:46

Rejestracja: 17 lat temu

Ostatnio: 1 rok temu

0

Witam,
mam jakiś dziwny problem z javascriptem...
mam taki kod:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<link rel="stylesheet" type="text/css" href="include.css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>WebCAR: Historia</title>
<style type="text/css">
v\:* { behavior:url(#default#VML); }
body { font-family: Verdana, Sans-serif; }
h3 { margin-left: 8px; }
#map { height: 500px;
width: 650px;
border: 1px solid gray;
margin-top: 8px;
margin-left: 8px;
overflow: hidden;
}

.button { display: block;
width: 110px;
border: 1px Solid #565;
margin: 10px;
padding: 3px;
text-decoration: none;
text-align:center;
font-size:smaller;
}
.button:hover {
background-color: white;
}
#descr { position:absolute;
top:45px;
left: 680px;
width: 250px;
}
.infowindow { font-size: smaller;
text-align: left;
}
</style>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjqCDB3PN5y4xZCzYbKHOhBQpLwa5onnIYg2J2E2sqWBzh_6noBQ8Rsofj2RkT1eS
bLHxuqJggBBTA" type="text/javascript">
</script>
</head>
<body onload="buildMap()" onunload="GUnload()">
<h3> </h3>
<div id="map"> </div>
<div id="descr">
<a href="#" class="button" onclick="haltAnim();return false;"><img src="http://www.eksiegarnia.net/autka/icon_stop_d.gif" border="0"></a>
<a href="#" class="button" onclick="carryOn();return false;"><img src="http://www.eksiegarnia.net/autka/icon_next.gif" border="0"></a>
<a href="#" class="button" onclick="playAgain();return false;"><img src="http://www.eksiegarnia.net/autka/icon_play.gif" border="0"></a>
</div>
<script type="text/javascript">
//<![CDATA[
// Global variables
var data = [
{ name: "ul. Generała Henryka Dąbrowskiego, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.566", lng:"18.4039" },
{ name: "ul. powiat: ", date: "7. Dezember", lat:"54.566", lng:"18.4036" },
{ name: "ul. Szczecińska, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5672", lng:"18.4007" },
{ name: "ul. Generała Władysława Andersa, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5677", lng:"18.4009" },
{ name: "ul. Marynarska, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.568", lng:"18.4005" },
{ name: "ul. Warszawska, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5693", lng:"18.4021" },
{ name: "ul. Poznańska, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5692", lng:"18.4033" },
{ name: "ul. marszałka Józefa Piłsudskiego, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5688", lng:"18.4001" },
{ name: "ul. marszałka Józefa Piłsudskiego, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5688", lng:"18.3997" },
];
var map, route;
var points = [];
var gmarkers = [];
var count =0;
var stopClick = false;

function addIcon(icon) { // Add icon attributes
icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
icon.iconSize = new GSize(32, 32);
icon.shadowSize = new GSize(37, 34);
icon.iconAnchor = new GPoint(15, 34);
icon.infoWindowAnchor = new GPoint(19, 2);
icon.infoShadowAnchor = new GPoint(18, 25);
}
function addClickevent(marker) { // Add a click listener to the markers
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(marker.content);
});
return marker;
}
function buildMap() {
if(GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(52.53627304145948, 19.05029296875), 15);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
// Light blue marker icons
var icon = new GIcon();
icon.image = "http://www.eksiegarnia.net/autka/punkt.png";
addIcon(icon);
for(var i = 0; i < data.length; i++) {
points[i] = new GLatLng(parseFloat(data[i].lat), parseFloat(data[i].lng));
gmarkers[i] = new GMarker(points[i], icon);
// Store data attributes as property of gmarkers

var html ="<div class='infowindow'>" +
"<strong>"+ data[i].name + "<\/strong><p>" +
data[i].date + "<\/p><\/div>";
gmarkers[i].content = html;
addClickevent(gmarkers[i]);
map.addOverlay(gmarkers[i]);

}
// Draw polylines between marker points
var poly= new GPolyline(points, "#003355", 3, .5);
map.addOverlay(poly);

// Open infowindow of first marker

gmarkers[0].openInfoWindowHtml( gmarkers[0].content);
route =setTimeout("anim()", 4200);

}

}
function haltAnim() {
if(route) {

clearTimeout(route);

stopClick = true;

}

}
function carryOn() {
if(stopClick == true) anim();

stopClick = false;

}
function anim() {

count++;
if(count < points.length) {
map.panTo(points[count]);
gmarkers[count].setImage('http://www.eksiegarnia.net/autka/obrazek.php?b=10&a=$autko&c=100');
gmarkers[count].openInfoWindowHtml( gmarkers[count].content);
var delay = 3400;
if((count+1) != points.length)
var dist = points[count].distanceFrom(points[count+1]);
// Adjust delay
if( dist < 10000 ) {
delay = 2000;
}

if( dist > 80000 ) {

delay = 4200;
}
route = setTimeout(function () { gmarkers[count].setImage('http://www.eksiegarnia.net/autka/punkt.png'); anim(); }, delay);
}
else {
clearTimeout(route);
count = 0;
route = null;
}
}
function playAgain() {
GUnload();
if(route) clearTimeout(route);
stopClick = false;
count = 0;
buildMap();

}

//]]>
</script></body>
</html>

i to mi zwraca błąd w IE:
zwraca 'data[...].lat' jest pusty lub nie jest obiektem:(

wiecie co może jest nie tak??
IE pisze że błąd jest w wierszu 131, znak 4 - czyli wychodzi na to że w: points[i] = new GLatLng(parseFloat(data[i].lat), parseFloat(data[i].lng));

w FireFoxie działa bez problemów...

z góry dzięki za pomoc,
pozdrawiam Northwest </url>

Pozostało 580 znaków

2008-09-13 18:30

Rejestracja: 15 lat temu

Ostatnio: 9 lat temu

0

//<![CDATA[
// Global variables
var data = [
{ name: "ul. Generała Henryka Dąbrowskiego, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.566", lng:"18.4039" },
{ name: "ul. powiat: ", date: "7. Dezember", lat:"54.566", lng:"18.4036" },
{ name: "ul. Szczecińska, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5672", lng:"18.4007" },
{ name: "ul. Generała Władysława Andersa, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5677", lng:"18.4009" },
{ name: "ul. Marynarska, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.568", lng:"18.4005" },
{ name: "ul. Warszawska, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5693", lng:"18.4021" },
{ name: "ul. Poznańska, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5692", lng:"18.4033" },
{ name: "ul. marszałka Józefa Piłsudskiego, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5688", lng:"18.4001" },
{ name: "ul. marszałka Józefa Piłsudskiego, Rumia, Polska powiat: Wejherowski", date: "7. Dezember", lat:"54.5688", lng:"18.3997" },
];

ostatni przecinek. IE widzi jako pusty obiekt ?! FF wycina ?! w obu chyba powinien byc blad ....


Pozostało 580 znaków

2008-09-13 20:39

Rejestracja: 17 lat temu

Ostatnio: 1 rok temu

0

działa - dzięki WIELKIE:)))

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0