2015-03-19 2 views
0

Я создаю что-то с Google Maps и Instagram. Я пытаюсь отправить координаты фотографий Instagram из моего файла PHP в свой файл JavaScript с помощью AJAX. Я вообще понятия не имею, как справиться с этим на стороне JavaScript.Передача php-массива в javascript с помощью ajax

Это то, что мой файл index.php выглядит следующим образом:

<?php 

$jsonText= file_get_contents(""); 

$instagram = json_decode($jsonText); 


foreach ($instagram->data as $photo) { 

$longitude = $photo->location->longitude; 
$latitude = $photo->location->latitude; 
$picture = $photo->images->thumbnail->url; 

$results = array($latitude, $longitude, $picture); 
echo json_encode($results, true); 
} 
?> 

Мой файл JS выглядит следующим образом:

google.maps.event.addDomListener(window, 'load', initialize); 

function initialize() { 
var mapOptions = { 
    zoom: 5, 
    center: new google.maps.LatLng(45.525961, 15.255119) 
}; 
var map = new google.maps.Map(document.getElementById('map-canvas'), 
    mapOptions); 



$.ajax({ 
    url: 'index.php', 
    dataType: 'json', 
    success: function(data) { 

     var location = new google.maps.LatLng(); 

     var marker = new google.maps.Marker({ 
      position: location, 
      map: map, 
      title:"Where the photo was taken.." 
     }); 
    } 
}) 

} 
+0

Просто поместите свое создание маркера в цикл и проведите через результаты json, создавая новые маркеры данных. –

+0

@JoeSwindell. Но как использовать координаты, которые я отправляю? Я не могу просто «var location = new google.maps.LatLng (широта, долгота);» – Betul

+0

Конечно, вы можете. Поместите его в цикл, и с каждым создаваемым им местоположением он подталкивает его к массиву. Тогда у вас будет массив местоположений карт. –

ответ

1

Прежде всего, я хотел бы предложить вам не поделиться своим API Key/Ток доступа публично.

Я внес небольшие изменения в ваш код. Это ajax call now,

$.ajax({url: 'test.php'}).done(function(data) { 
      // alert(data); 
      for (var i = data.length - 1; i >= 0; i--) { 
       for (var j = data[i].length - 1; j >= 0; j--) { 
        $("#someElement").append(data[i][j]); 
       }; 
      }; 
     } 
); 

Данные, которые, если вы хотите, можете использовать эти данные.

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