错误 "data is undefined " 尝试使用 GetJSON / Google 地图

Error "data is undefined " Trying to use GetJSON / Google Map

我正在尝试从 paris.I 中的自行车位置 API 在 google 地图中做标记 不明白为什么我会出错:

data[I] undefined.

 $(function() {

     $.getJSON('https://api.jcdecaux.com/vls/v1/stations?contract=paris&apiKey=de4b32d53a372975a38df03d8f31b7edd9c9b793', function(data) {

         for (var i = 0; i <= data.length; i++) {
             console.log(data[i]);
             var lat = data[i].position.lat;
             var lng = data[i].position.lng;
             var position = {
                 lat: lat,
                 lng: lng
             };

             var marker = new google.maps.Marker({
                 position: position,
                 map: map,
             });
         };

     });
 });

     });
 });

您的 code.Run 以下代码段中的两个右括号不匹配,您从 api.

获得数据

 $.getJSON('https://api.jcdecaux.com/vls/v1/stations?contract=paris&apiKey=de4b32d53a372975a38df03d8f31b7edd9c9b793', function(data) {

         for (var i = 0; i <= data.length; i++) {
             console.log(data[i]);
             var lat = data[i].position.lat;
             var lng = data[i].position.lng;
             var position = {
                 lat: lat,
                 lng: lng
             };

             var marker = new google.maps.Marker({
                 position: position,
                 map: map,
             });
         }


     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

数组的索引应该小于它的长度,所以循环条件是错误的:

for (var i = 0; i <= data.length; i++) {}

正确:

for (var i = 0; i < data.length; i++) {}

试试这个代码..!

  $(function() {

        $.getJSON('https://api.jcdecaux.com/vls/v1/stations?contract=paris&apiKey=de4b32d53a372975a38df03d8f31b7edd9c9b793', function(data) {
           //Modified code
            for (var i = 0; i < data.length; i++) {
                console.log(data[i]);
                var lat = data[i].position.lat;
                var lng = data[i].position.lng;
                var position = {
                    lat: lat,
                    lng: lng
                };


                var marker = new google.maps.Marker({
                   //Modified code
                    position: new google.maps.LatLng(position),
                    map: map,
                });

            };

        });
    });