Mercurial > hg > batmud > gmap2
changeset 269:ce747cd9ec59 gmap2
Add error situation handling.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 13 Apr 2014 23:41:40 +0300 |
parents | 98115d71bb64 |
children | 561640ed2204 |
files | map.js |
diffstat | 1 files changed, 18 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/map.js Sun Apr 13 21:23:11 2014 +0300 +++ b/map.js Sun Apr 13 23:41:40 2014 +0300 @@ -205,19 +205,28 @@ XDownloadUrl("http://tnsp.org/gmapng/playerpos.php?token="+pmapToken, function(data, responseCode) { - if (data != "") + if (typeof(data) == "string") { - var pos = JSON.parse(data); - if (typeof(pos) == "object" && (pos.x != pmapPlrPrevPos.x || pos.y != pmapPlrPrevPos.y)) + if (data.match(/error/i)) { - pmapPlrMarker.setPosition(pmapMapCoordsToLatLng(new google.maps.Point(pos.x * 2 + 1, pos.y * 2 + 1), 7)); - pmap.panTo(pmapMapCoordsToLatLng(new google.maps.Point(pos.x, pos.y), 6)); - pmapPlrPrevPos = pos; - pmapUpdateDelay = 500; + // In case of an error, stop updating + clearInterval(pmapUpdatePID); } else - if (pmapUpdateDelay < 5000) - pmapUpdateDelay += 500; + if (data != "") + { + var pos = JSON.parse(data); + if (typeof(pos) == "object" && (pos.x != pmapPlrPrevPos.x || pos.y != pmapPlrPrevPos.y)) + { + pmapPlrMarker.setPosition(pmapMapCoordsToLatLng(new google.maps.Point(pos.x * 2 + 1, pos.y * 2 + 1), 7)); + pmap.panTo(pmapMapCoordsToLatLng(new google.maps.Point(pos.x, pos.y), 6)); + pmapPlrPrevPos = pos; + pmapUpdateDelay = 500; + } + else + if (pmapUpdateDelay < 5000) + pmapUpdateDelay += 500; + } } else pmapUpdateDelay = 10000;