comparison map.js @ 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
comparison
equal deleted inserted replaced
268:98115d71bb64 269:ce747cd9ec59
203 pmapUpdateTime = Date.now(); 203 pmapUpdateTime = Date.now();
204 // XDownloadUrl("http://www.bat.org/playerpos.php?token="+pmapToken, 204 // XDownloadUrl("http://www.bat.org/playerpos.php?token="+pmapToken,
205 XDownloadUrl("http://tnsp.org/gmapng/playerpos.php?token="+pmapToken, 205 XDownloadUrl("http://tnsp.org/gmapng/playerpos.php?token="+pmapToken,
206 function(data, responseCode) 206 function(data, responseCode)
207 { 207 {
208 if (data != "") 208 if (typeof(data) == "string")
209 { 209 {
210 var pos = JSON.parse(data); 210 if (data.match(/error/i))
211 if (typeof(pos) == "object" && (pos.x != pmapPlrPrevPos.x || pos.y != pmapPlrPrevPos.y))
212 { 211 {
213 pmapPlrMarker.setPosition(pmapMapCoordsToLatLng(new google.maps.Point(pos.x * 2 + 1, pos.y * 2 + 1), 7)); 212 // In case of an error, stop updating
214 pmap.panTo(pmapMapCoordsToLatLng(new google.maps.Point(pos.x, pos.y), 6)); 213 clearInterval(pmapUpdatePID);
215 pmapPlrPrevPos = pos;
216 pmapUpdateDelay = 500;
217 } 214 }
218 else 215 else
219 if (pmapUpdateDelay < 5000) 216 if (data != "")
220 pmapUpdateDelay += 500; 217 {
218 var pos = JSON.parse(data);
219 if (typeof(pos) == "object" && (pos.x != pmapPlrPrevPos.x || pos.y != pmapPlrPrevPos.y))
220 {
221 pmapPlrMarker.setPosition(pmapMapCoordsToLatLng(new google.maps.Point(pos.x * 2 + 1, pos.y * 2 + 1), 7));
222 pmap.panTo(pmapMapCoordsToLatLng(new google.maps.Point(pos.x, pos.y), 6));
223 pmapPlrPrevPos = pos;
224 pmapUpdateDelay = 500;
225 }
226 else
227 if (pmapUpdateDelay < 5000)
228 pmapUpdateDelay += 500;
229 }
221 } 230 }
222 else 231 else
223 pmapUpdateDelay = 10000; 232 pmapUpdateDelay = 10000;
224 }, 233 },
225 function() 234 function()