var tmp_icon = marker.getIcon().url; var newimg; switch (tmp_icon) { case 'markers/red.png': newimg = 'markers/brown.png'; break; case 'markers/brown.png': newimg = 'markers/orange.png'; break; case 'markers/orange.png': newimg = 'markers/yellow.png'; break; case 'markers/yellow.png': newimg = 'markers/darkgreen.png'; break; case 'markers/darkgreen.png': newimg = 'markers/paleblue.png'; break; case 'markers/paleblue.png': newimg = 'markers/blue.png'; break; case 'markers/blue.png': newimg = 'markers/pink.png'; break; case 'markers/pink.png': newimg = 'markers/purple.png'; break; case 'markers/purple.png': newimg = 'markers/red.png'; break; } var imaged = new google.maps.MarkerImage(newimg, new google.maps.Size(20, 34), new google.maps.Point(0,0), new google.maps.Point(10, 34)); marker.setIcon(imaged); $.post("iconmarker.php", {id: marker.id, ico: newimg}, function(data) {});
Funkcja marker.getIcon().url pobiera aktualną ikonę markera. Działa poprawnie, jednak po funkcji case zmienna newimg ma wartość undefined. Dla czego? Tak jakby funckja nie zwracała tekstu.