Показать сообщение отдельно
  #3 (permalink)  
Старый 07.02.2014, 16:33
Новичок на форуме
Отправить личное сообщение для greck6 Посмотреть профиль Найти все сообщения от greck6
 
Регистрация: 07.02.2014
Сообщений: 5

Вобщем продвинулся я чуть дальше, тоесть получилось передать значение переменной из PHP в javascript
но на карту выводится только один маркер который последний хотя в переменной несколько маркеров.

Хотя просто через echo выводятся в html все координаты такого типа: ['AFL395',59.820550,70.177150],['GLP049',50.820550,60.177150], и так далее

<?php
$file = file_get_contents('whazzup.txt');
preg_match('#\!CLIENTS(.*)\!SERVERS#usU', $file, $match);
$res = explode(PHP_EOL, $match[1]);
  foreach($res as $str){
    if(strlen($str)>0){
        $temp = explode(':', $str); 
        $data = "['".$temp[0]."',".$temp[5].",".$temp[6]."],";
        echo "$data"; //Вот тут выводится всё как надо
    } 
}
?>
 
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Online maps</title>
    <style>
      html, body, #map-canvas {
        height: 100%;
        margin: 0px;
        padding: 0px
      }
    </style>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
    <script>
 
function initialize() {
  var mapOptions = {
    zoom: 3,
    center: new google.maps.LatLng(32.4942768,19.0286076)
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);                         
  setMarkers(map, beaches);
}
var beaches = [
 
<? echo "$data";?>//А тут тлько последние координаты
 
];
 
function setMarkers(map, locations) {
  var image = {
    url: '1.png',
    size: new google.maps.Size(32, 32),
    origin: new google.maps.Point(0,0),
    anchor: new google.maps.Point(0, 32)
  };
  var shape = {
      coord: [1, 1, 1, 20, 18, 20, 18 , 1],
      type: 'poly'
  };
  for (var i = 0; i < locations.length; i++) {
    var beach = locations[i];
    var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
    var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        icon: image,
        shape: shape,
        title: beach[0],
        zIndex: beach[3]  
    });
  }
}
 
google.maps.event.addDomListener(window, 'load', initialize);
 
    </script>
  </head>
  <body>
    <div id="map-canvas"></div>
  </body>
</html>
Ответить с цитированием