2016-10-05 3 views
-1

Это, как я получаю PHP массив из API с помощью PHP file_get_contentsСинтаксисError: missing; перед постановкой [PHP массив в Javascript массив]

<?php 
$array=json_decode(file_get_contents("https://www.example.com.my/sandbox/api/mobileapp.php?token=123123&action=listing_for_map"), true); 
$arr= json_encode($array['get']); 
?> 

Вот как я поставил массив PHP в массив яваскрипта и как я получаю данные

var geoPoint = '<?php echo $arr ;?>'; 

    for (var i = 0; i < 1000; ++i) { 
     var latLng = new google.maps.LatLng(geoPoint.get[i].google_coordinate) 
     var marker = new google.maps.Marker({ 
     position: latLng, 
     draggable: true, 
     icon: markerImage 
     }); 
     markers.push(marker); 
    } 

Каждый раз, когда я запускаю код, я получил эту ошибку. SyntaxError: missing; перед постановкой

Error

Может кто-нибудь сказать мне, где на самом деле я сделал не так? Заранее благодарю

+0

Без точки с запятой после var latLng = new google.maps.LatLng (geoPoint.get [i] .google_coordinate)? – HZS

+0

@HZS Я попробовал, но все еще получил ошибку. –

+1

Двойная цитата для 'var geoPoint =" ";' И как HZS сказал, точка с запятой после 'var latLng = new google.maps.LatLng (geoPoint.get [i] .google_coordinate);' , Попробуйте. – JazZ

ответ

1

Обертка вашего JSON в одинарных кавычках определяет его как строку. Вы хотите, чтобы быть определены как объект:

var geoPoint = <?php echo $arr ;?>; 

В комментариях других людей отметили, вы также отсутствуете точку с запятой в этой строке:

var latLng = new google.maps.LatLng(geoPoint.get[i].google_coordinate); 
0

Вы упускаете точку с запятой после var latLng = new google.maps.LatLng(geoPoint.get[i].google_coordinate). Это должно быть var latLng = new google.maps.LatLng(geoPoint.get[i].google_coordinate);

Смежные вопросы