Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google地图标记未显示ajax json数据_Javascript_Ajax_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript Google地图标记未显示ajax json数据

Javascript Google地图标记未显示ajax json数据,javascript,ajax,google-maps,google-maps-api-3,Javascript,Ajax,Google Maps,Google Maps Api 3,我正在从数据库表中获取纬度和经度,并尝试在ajax成功上显示标记。我得到的是json格式的纬度&经度,但在尝试使用循环时,标记不会显示 我的JSON数据: [ {"latitude":"23.046100780353495","longitude":"72.56860542227514"}, {"latitude":"23.088427701737665","longitude":"72.49273109366186"}, {"latitude":"23.06126419

我正在从数据库表中获取
纬度
经度
,并尝试在
ajax成功
上显示标记。我得到的是json格式的
纬度
&
经度
,但在尝试使用循环时,标记不会显示

我的JSON数据:

[
    {"latitude":"23.046100780353495","longitude":"72.56860542227514"},
    {"latitude":"23.088427701737665","longitude":"72.49273109366186"},
    {"latitude":"23.061264193197644","longitude":"72.68224525381811"},
    {"latitude":"22.977212139977677","longitude":"72.52191352774389"},
    {"latitude":"23.002180435752084","longitude":"72.47590827872045"},
    {"latitude":"23.108638843843046","longitude":"72.49444770743139"}
]
使用Ajax代码的Google地图:

<script type="text/javascript">
// Check DOM Ready
$(document).ready(function() {

    // Execute
    (function() {
        // Map options
        var options = {
            zoom: 6,
            center: new google.maps.LatLng(23.039567700000000000, 72.566004499999960000), // Centered
            mapTypeId: google.maps.MapTypeId.TERRAIN,
            mapTypeControl: false
        };

        // Init map
        var map = new google.maps.Map(document.getElementById('map_canvas'), options);

        $.ajax({
            url: 'get-locations.php',
            success:function(data){
                var obj = JSON.parse(data);
                var totalLocations = obj.length;

                for (var i = 0; i < totalLocations; i++) {

                    // Init markers
                    var marker = new google.maps.Marker({
                        position: new google.maps.LatLng(obj[i].latitude + ',' + obj[i].longitude),
                        map: map,
                        title: 'Click Me ' + i
                    });

                    // Process multiple info windows
                    (function(marker, i) {
                        // add click event
                        google.maps.event.addListener(marker, 'click', function() {
                            infowindow = new google.maps.InfoWindow({
                                content: 'Hello, World!!'
                            });
                            infowindow.open(map, marker);
                        });
                    })(marker, i);

                }

            }
        });
    })();
});
</script>
但不使用动态循环

知道为什么没有显示标记吗


谢谢。

您将坐标错误地传递给了构造函数。应该有两个用逗号分隔的参数,但您将它们作为字符串连接起来

代码应该如下所示:

position: new google.maps.LatLng(obj[i].latitude, obj[i].longitude)

您将坐标错误地传递给构造函数。应该有两个用逗号分隔的参数,但您将它们作为字符串连接起来

代码应该如下所示:

position: new google.maps.LatLng(obj[i].latitude, obj[i].longitude)

您将坐标错误地传递给构造函数。应该有两个用逗号分隔的参数,但您将它们作为字符串连接起来

代码应该如下所示:

position: new google.maps.LatLng(obj[i].latitude, obj[i].longitude)

您将坐标错误地传递给构造函数。应该有两个用逗号分隔的参数,但您将它们作为字符串连接起来

代码应该如下所示:

position: new google.maps.LatLng(obj[i].latitude, obj[i].longitude)