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

Динамическое размещение маркеров на Google maps
Есть сервер для авиасимулятора FSX и есть файл whazzup.txt

![DateStamp]05/02/2014 08:07
!GENERAL
VERSION = 1
RELOAD = 1
UPDATE = 20140205080726
CONNECTED CLIENTS = 1
CONNECTED SERVERS = 1
!CLIENTS
GLP049:5084479:Iliya UUDD:PILOT::59.820550:70.177150:7547:188:T/B738/F:470:UUWW:FL320:ULLI:GBS:1:1:2200:0:40:3:I:830:949:1:15:2:30:::WT GEKLA DAKLO SF R480 GAMDI W11 NE G476 SU B210 LUKIR:::::::20140205081440
!SERVERS
GBS:95.84.228.66:Russia:Russia:1


в нём имеются координаты которые нужно использовать для размещения маркеров на google maps, этот файл динамически изменяется сервером, есть парсер этого файла на PHP, тоесть координаты парсятся и помещаются в переменную PHP
но вот передать значение этой переменной в javascript у меня ни как ни выходит.

<?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); 
    } 
}
?>

<!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 = [

['',"<?php echo "".$temp[5]."";?>,<?php echo "".$temp[6]."";?>"],//Вот так не получается

['',32.4942768,19.0286076],//А вот так работает но не подходит
['',42.4942768,29.0286076],

];

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>
Ответить с цитированием