我们如何使用ajax响应更改谷歌地图航点标记

时间:2014-12-16 05:06:24

标签: php jquery ajax google-maps google-maps-api-3

我有工作代码在谷歌地图上标记路标。我想根据Ajax响应更改航点标记。

这是我的代码 - http://fiddle.jshell.net/TechmazeSolution/8fgobauz/

1 个答案:

答案 0 :(得分:0)

您的代码未显示尝试使用响应来更新航点。但无论如何:

  1. 在AJAX请求中,$(this)是AJAX对象,不引用$("#calcRoute")
  2. 更新findroute()数组
  3. 后,您必须致电waypts

    更新了代码

    $("#calcRoute").change(function () {
    
        var self = $(this);
    
        $.ajax({
            type: "POST",
            url: "ajax-response.php?" + Math.random(),
            dataType: "json",
            success: function (response) { console.log($(this));
    
                if (self.val() == 1) {
    
                    start = new google.maps.LatLng(1.30365, 103.85256);
                    end = new google.maps.LatLng(1.29411, 103.84631);
                    waypts = [{
                        location: new google.maps.LatLng(1.28644, 103.84663),
                        stopover: true
                    }, {
                        location: new google.maps.LatLng(1.28627, 103.85927),
                        stopover: true
                    }];
    
                    findroute();
                }
            }
        });
    });
    

    更新小提琴

    http://fiddle.jshell.net/8fgobauz/1/

    使用您的JavaScript控制台调试您的代码。您可以轻松找到这些错误。