2015-06-27 6 views
-3
  1. Моего браузер заселения маркеры на карту и для этого мне нужно место, которые я сгенерированный из PHP-файла в формате, приведенном ниже
  2. я хочу, чтобы динамически получить результат из PHP массив в массиве яваскрипта
 <script type="text/javascript"> 
     var locations = /// i want here the output as shown below from the php file 

    var locations = [["Vidyasagar","28.6139391","77.20902120000005"], 
     ["Pushpadantsagar","21.4598","80.195"], 
     ["Tarunsagar","28.638","77.2936"], 
     ["Samyaktbhushan","20.593684","78.96288000000004"], 
     ["Pavitrasagar","23.2836","79.2318"], 
     ["Prayogsagar","23.2836","79.2318"], 
     ["Arunsagar","30.016","77.4"]]; 

    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 7, 
     center: new google.maps.LatLng(23.2836,79.2318), 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    var infowindow = new google.maps.InfoWindow(); 

    var marker, i; 

    for (i = 0; i < locations.length; i++) { 
     marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
     map: map 
     }); 

     google.maps.event.addListener(marker, 'click', (function(marker, i) { 
     return function() { 
      infowindow.setContent(locations[i][0]); 
      infowindow.open(map, marker); 
     } 
     })(marker, i)); 
    } 
    </script> 

и файл PHP этополучение Javascript переменного значения из массива PHP

<?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "jainmunilocator"; 
    $connection=mysqli_connect($servername, $username, $password, $dbname);; 
    if (!$connection) { 
     die("Connection failed: " . mysqli_connect_error()); 
    } 
    $array = array(); 
    $sql = "SELECT name,id,lat,lng FROM muni_location,munishri WHERE mid=id AND lat<>0"; 
    $result=mysqli_query($connection,$sql); 
    $i=0; 

    while($row = mysqli_fetch_assoc($result)){ 
     if(isset($row)){ 
      $array[$i][0]=$row['name']; 
      $array[$i][1]=$row['lat']; 
      $array[$i][2]=$row['lng']; 
      $i++; 
     } 
    } 
    echo json_encode($array); 
    ?> 

ответ

0

Вам нужно будет использовать вызов ajax. Here - вопрос о переполнении стека, который содержит некоторые примеры вызова ajax на php-страницу.

Имейте в виду, что вам нужно либо включить библиотеку jQuery для этого, либо вы можете следовать за ней в this question, чтобы сделать вызов ajax без jQuery.

0

Вы можете использовать PHP для вывода переменных в атрибут скрытого поля ввода value и кодировать их как JSON. Затем, используя Javascript, используйте JSON.parse для декодирования переменных PHP из атрибута значения скрытого поля ввода. Затем вы можете удалить элемент из DOM.

0

Трюк заключается в повторении PHP var в javascript. Как только PHP обрабатывается, вывод правильных Js.

<script> 
    var locations = array(<?= $VAR ?>); 
</script> 

В этом случае $ УАК должно быть что-то вроде $ VAR = " 'Барселона', 'мадрид'," Лондон"; Отрегулируйте $ VAR, чтобы он генерировал правильный результат. Не нужно использовать кодировку JSON, если вам просто нужно это для этого.

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