Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/82: Рейтинг темы: голосов - 82, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22

Передача координат из бд в яндекс карты

02.05.2014, 11:48. Показов 16622. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Есть база где хранятся координаты, мне надо эти координаты ставить на яндекс карты. получения координат из базы :
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while($row = mysql_fetch_array($query2)) {
  $myArr[$i]=array();
  $myArr[$i][0]=$row['lat'];
  $lat [$i] = array ($row['lat']);
  $myArr[$i][1]=$row['lon'];
  $lon [$i] = array ($row['lon']);
  $myArr[$i][2]=$row['time'];
  $time [$i] = array ($row['time']);
  $i++;
}
$json = json_encode($myArr);
$jlat=json_encode($lat);
$jlon=json_encode($lon);
$jtime=json_encode($time);
надо вот сюда в пример из сайта яндекс карт ставитьмассив координат. и желательно чтоб при нажатии на точки в балунах отображалась время

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
function map() {
global $jlat;
global $jlon;
global $jtime;
 echo ("
 
 <script type='text/javascript'>
ymaps.ready(init);
 
function init() {
    var myMap = new ymaps.Map('map', {
            center: [55.745508, 37.435225],
            zoom: 13
        });
 
    // Добавим на карту схему проезда
    // от улицы Крылатские холмы до станции метро Кунцевская
    // через станцию Молодежная и затем до станции Пионерская.
    // Точки маршрута можно задавать 3 способами:
    // как строка, как объект или как массив геокоординат.
    ymaps.route([
        'Москва, улица Крылатские холмы',
        {
            point: 'Москва, метро Молодежная',
            // метро Молодежная - транзитная точка
            // (проезжать через эту точку, но не останавливаться в ней).
            type: 'viaPoint'
        },
        [55.731272, 37.447198], // метро Кунцевская.
        'Москва, метро Пионерская'
    ]).then(function (route) {
        myMap.geoObjects.add(route);
        // Зададим содержание иконок начальной и конечной точкам маршрута.
        // С помощью метода getWayPoints() получаем массив точек маршрута.
        // Массив транзитных точек маршрута можно получить с помощью метода getViaPoints.
        var points = route.getWayPoints(),
            lastPoint = points.getLength() - 1;
        // Задаем стиль метки - иконки будут красного цвета, и
        // их изображения будут растягиваться под контент.
        points.options.set('preset', 'twirl#redStretchyIcon');
        // Задаем контент меток в начальной и конечной точках.
        points.get(0).properties.set('iconContent', 'Точка отправления');
        points.get(lastPoint).properties.set('iconContent', 'Точка прибытия');
 
        // Проанализируем маршрут по сегментам.
        // Сегмент - участок маршрута, который нужно проехать до следующего
        // изменения направления движения.
        // Для того, чтобы получить сегменты маршрута, сначала необходимо получить
        // отдельно каждый путь маршрута.
        // Весь маршрут делится на два пути:
        // 1) от улицы Крылатские холмы до станции Кунцевская;
        // 2) от станции Кунцевская до Пионерская.
 
        var moveList = 'Трогаемся,</br>',
            way,
            segments;
        // Получаем массив путей.
        for (var i = 0; i < route.getPaths().getLength(); i++) {
            way = route.getPaths().get(i);
            segments = way.getSegments();
            for (var j = 0; j < segments.length; j++) {
                var street = segments[j].getStreet();
                moveList += ('Едем ' + segments[j].getHumanAction() + (street ? ' на ' + street : '') + ', проезжаем ' + segments[j].getLength() + ' м.,');
                moveList += '</br>'
            }
        }
        moveList += 'Останавливаемся.';
        // Выводим маршрутный лист.
        $('#list').append(moveList);
    }, function (error) {
        alert('Возникла ошибка: ' + error.message);
    });
}
</script>
 
 ");
 
}
советовали через json сделать, я пробовал и 1 массив передать и отдельно 3 массива, не как не получилось. для работы сайта осталось только это. Помогите пожалуйста закончить. не знаю уже что пробовать. пробовал и просто '.$myArr.' и так писать, не как не хочет работать. Если кто нибудь работал с яндекс картами или кто знает как правильно пожалуйста напишите. Спасибо заранее.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2014, 11:48
Ответы с готовыми решениями:

Java Android - сделать кнопку "показать адрес на карте", которая вызывает яндекс-карты или яндекс-навигатор и гугл-карты
Доброго дня, формучане! Подскажите, как сделать возможность из моего приложения при клике по кнопке &quot;Показать на карте&quot; перейти...

Запустить яндекс карты и яндекс навигатор в оффлайн режиме под андройд
Народ кто-нить смог запустить яндекс карты и яндекс навигатор в оффлайн режиме под андройд, приложение само предлагает скачать всю карту...

Найти оптимальный zoom карты (яндекс карты)
Есть массив с координатами (Х, У). Как найти оптимальный zoom, (от 1го до 17) чтобы все точки из массива попадали в область карты... ...

13
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 14:16
Вы же получили координаты с БД, вставляйте их
PHP
1
2
3
echo ("
 
 <script type='text/javascript'>
А на клиенте используйте eval. Только думаю
JavaScript
1
<script type='text/javascript'>
не надо писать, если eval использовать.

Либо делать ajax запрос, в success указывать вызов функции init() и передавать туда переменные, полученные из php-скрипта.

Или у вас даже координаты не получаются из БД?
1
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
05.05.2014, 16:29  [ТС]
Все это в php файле и в echo записан javascript

Добавлено через 8 минут
Все это в php файле и в echo записан javascript. Из базы получаю координаты, но в javascript передать не могу. вот тут

JavaScript
1
2
3
4
5
ymaps.route([
      
        [55.731272, 37.447198], // метро Кунцевская. ->> вот тут место одного координата из примера нужно ставить                          //                                            несколько координат из базы
       
    ]).then(function (route) {
Вот там надо вывести координаты из базы.я вот пробовал сделать глобальную переменную и потом в java создать новый массив и ему присвоить массив с координатами из php кода и просто так писал <?= переменная?> и вот в таком виде тоже. сказали json надо и он не работает. подскажите как правильно написать чтоб работала. пробовал все что нашел в инете, из всех форумов кто как делал все пробовал. пока что не как. мне вот тут место одной пары координат [55.731272, 37.447198], надо ставить массив координат.
0
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 16:42
Попробую набросать примерный код.
У вас есть
PHP
1
2
3
4
$json = json_encode($myArr);
$jlat=json_encode($lat);
$jlon=json_encode($lon);
$jtime=json_encode($time);
Выкидываете это.
Далее вы
PHP
1
echo json_encode(array('lat'=>$lat, 'lon'=>$lon, 'time'=>$time));
В JS:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$.ajax({
        type: "POST",
        url: "<url>",
        data: "",//если надо
        success: function(msg){
try {
            var result = jQuery.parseJSON(msg);
//result.lat - необходимая переменная
//result.lon - необходимая переменная
//result.time - необходимая переменная
 
//что больше нравится
 
/*alert("result.lat="+result.lat);
alert("result.lon="+result.lon);
alert("result.time="+result.time);*/
 
/*console.log("result.lat="+result.lat);
console.log("result.lon="+result.lon);
console.log("result.time="+result.time);*/
}
catch(e) {
alert("Ошибка выполнения скрипта.\n"+msg);
}
        }
    });
1
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
05.05.2014, 17:01  [ТС]
Спасибо. я ajax не знаю совсем) можно вопросы несколько глупых)
url: "<url>", //---- тут что ссылка должна быть и на что ссылка?)
data: "",//если надо //---- это не знаю для чего он?)
и главный вопрос мне это куда впихнуть?)
вот тут в квадратных скобках записывается координаты, у меня массив и думаю надо через for сделать.
мне как надо правильно записать?
ymaps.route([
for (var i = 0; i < /* вот тут надо $i ? она длинна в том php цикле счетчик */; i++) {
// и вот тут мой массив из php массива в [тут lat,тут lon] таком виде,
]).then(function (route) {
0
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 17:14
Цитата Сообщение от G_O_R Посмотреть сообщение
url: "<url>", //---- тут что ссылка должна быть и на что ссылка?)
ссылка на php-скрипт, например "/folder1/folder2/script.php" - относительно корня сайта.

Цитата Сообщение от G_O_R Посмотреть сообщение
data: "",//если надо //---- это не знаю для чего он?)
Если необходимо отправить данные скрипту, то пишем сюда. Например:
data: "field1="+field1+"&field2="+field2,
А на сервер принимаем как обычную переменную POST или GET, в зависимости от: type: "POST", или type: "GET",
PHP
1
$field1 = $_POST['field1'];
У вас есть
JavaScript
1
function init()
Сделайте из неё
JavaScript
1
function init(lat, lon, time)
Цитата Сообщение от G_O_R Посмотреть сообщение
55.745508
В ней же цифирки заменяете на необходимые переменные, которые вам нужны (из списка lat/lon/time).

А
JavaScript
1
2
3
4
5
success: function(msg){
try {
            var result = jQuery.parseJSON(msg);
init(result.lat, result.lon, result.time);
//дальше код тот, что был
1
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
05.05.2014, 18:43  [ТС]
Спасибо большое)
получилось такой код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
$lat = array();
$lon = array();
$time = array();
while($row = mysql_fetch_array($query2)) {
  $myArr[$i]=array();
  $myArr[$i][0]=$row['lat'];
  $lat [$i] = array ($row['lat']);
  $myArr[$i][1]=$row['lon'];
  $lon [$i] = array ($row['lon']);
  $myArr[$i][2]=$row['time'];
  $time [$i] = array ($row['time']);
  $i++;
}
 
 
echo json_encode(array('lat'=>$lat, 'lon'=>$lon, 'time'=>$time, 'i'=>$i));
 
echo $i;
echo " - ";
echo $myArr[1][0];
$.ajax({
        type: "POST",
        url: "/show.php",
        data: "",//если надо
        success: function(msg){
try {
            var result = jQuery.parseJSON(msg);
            init(result.lat, result.lon, result.time, result.i);
//result.lat - необходимая переменная
//result.lon - необходимая переменная
//result.time - необходимая переменная
 
//что больше нравится
 
alert("result.lat="+result.lat);
alert("result.lon="+result.lon);
alert("result.time="+result.time);
alert("result.i="+result.i);
 
/*console.log("result.lat="+result.lat);
console.log("result.lon="+result.lon);
console.log("result.time="+result.time);*/
}
catch(e) {
alert("Ошибка выполнения скрипта.\n"+msg);
}
        }
    });
 
}
}
function map() {
 
 echo ("
 
 <script type='text/javascript'>
ymaps.ready(init);
 
function init(lat, lon, time) {
    var myMap = new ymaps.Map('map', {
            center: [55.745508, 37.435225],
            zoom: 13
        });
 
    // Добавим на карту схему проезда
    // от улицы Крылатские холмы до станции метро Кунцевская
    // через станцию Молодежная и затем до станции Пионерская.
    // Точки маршрута можно задавать 3 способами:
    // как строка, как объект или как массив геокоординат.
    ymaps.route([
        for (var i = 0; i < result.i ; i++) {
        [result.lat, result.lon] // метро Кунцевская.
        }
    ]).then(function (route) {
        myMap.geoObjects.add(route);
        // Зададим содержание иконок начальной и конечной точкам маршрута.
        // С помощью метода getWayPoints() получаем массив точек маршрута.
        // Массив транзитных точек маршрута можно получить с помощью метода getViaPoints.
        var points = route.getWayPoints(),
            lastPoint = points.getLength() - 1;
        // Задаем стиль метки - иконки будут красного цвета, и
        // их изображения будут растягиваться под контент.
        points.options.set('preset', 'twirl#redStretchyIcon');
        // Задаем контент меток в начальной и конечной точках.
        points.get(0).properties.set('iconContent', 'Точка отправления');
        points.get(lastPoint).properties.set('iconContent', 'Точка прибытия');
 
        // Проанализируем маршрут по сегментам.
        // Сегмент - участок маршрута, который нужно проехать до следующего
        // изменения направления движения.
        // Для того, чтобы получить сегменты маршрута, сначала необходимо получить
        // отдельно каждый путь маршрута.
        // Весь маршрут делится на два пути:
        // 1) от улицы Крылатские холмы до станции Кунцевская;
        // 2) от станции Кунцевская до Пионерская.
 
        var moveList = 'Трогаемся,</br>',
            way,
            segments;
        // Получаем массив путей.
        for (var i = 0; i < route.getPaths().getLength(); i++) {
            way = route.getPaths().get(i);
            segments = way.getSegments();
            for (var j = 0; j < segments.length; j++) {
                var street = segments[j].getStreet();
                moveList += ('Едем ' + segments[j].getHumanAction() + (street ? ' на ' + street : '') + ', проезжаем ' + segments[j].getLength() + ' м.,');
                moveList += '</br>'
            }
        }
        moveList += 'Останавливаемся.';
        // Выводим маршрутный лист.
        $('#list').append(moveList);
    }, function (error) {
        alert('Возникла ошибка: ' + error.message);
    });
}
</script>
 
 ");
 
}
?>
вроде как вы сказали/ но ошибку выдает
Parse error: syntax error, unexpected '.', expecting T_VARIABLE or '$' in /home/a1427778/public_html/show.php on line 147
на строку
PHP
1
$.ajax({
может не туда поставил?

Добавлено через 2 минуты
может нет поддержки аякс? у меня бесплатный сайт на 000webhost.com
0
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 20:49
Кхмм.. ладно. Маленький ликбез))
Ajax - это асинхронный javascript и xml (xml вам не нужен, просто такое название).
JSON - вам посоветовали как отличный способ передачи значений из php-скрипта обратно в js с доступом к переменным как к полям класса через символ "." (пример как раз result.time).
По идее, должно быть отдельно js отдельно php. А вы намешали.
Вот это должно быть в отдельном php-файле.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$lat = array();
$lon = array();
$time = array();
while($row = mysql_fetch_array($query2)) {
  $myArr[$i]=array();
  $myArr[$i][0]=$row['lat'];
  $lat [$i] = array ($row['lat']);
  $myArr[$i][1]=$row['lon'];
  $lon [$i] = array ($row['lon']);
  $myArr[$i][2]=$row['time'];
  $time [$i] = array ($row['time']);
  $i++;
}
echo json_encode(array('lat'=>$lat, 'lon'=>$lon, 'time'=>$time, 'i'=>$i));
В js должен быть код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$.ajax({
        type: "POST",
        url: "/show.php",
        data: "",//если надо
        success: function(msg){
try {
            var result = jQuery.parseJSON(msg);
            init(result.lat, result.lon, result.time, result.i);
}
catch(e) {
alert("Ошибка выполнения скрипта.\n"+msg);
}
        }
    });
url: "/show.php", - как раз название php-файла.
Функция init(<параметры>) - Оже должна быть в js-файле. В нем тот же код что у вас в конце в echo. Только result.lat заменит на просто lat и другие параметры также, потому что используете переменные функции.

$.ajax(..) - это jquery. Надеюсь самостоятельно подключите.
Вроде более менее понятно объяснил.

Если не хотите раскидывать по файлам, то в том коде, который вы написали,надо выкинуть $.ajax(...).
1
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
08.05.2014, 08:01  [ТС]
написал в яндекс. ответили и сказали сделать так

Здравствуйте, Гор!

Спасибо за пояснение.
Надо:
1. Сформировать данные
PHP
1
2
3
4
5
6
7
8
$data = array(
    'points' => array(),
    'times' => array()
);
while($row = mysql_fetch_array($query2)) {
    $data->points[] = array($row['lat'], $row['lon']);
    $data->times[] = $row['time'];
}
2. Вывести в тело скрипта
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
global $data;
?>
 <script type='text/javascript'>
ymaps.ready(init);
 
function init() {
    var myMap = new ymaps.Map('map', {
            center: [55.745508, 37.435225],
            zoom: 13
        }),
        data = <?php echo json_encode($data); ?>;
 
    ymaps.route(data.points).then(function (route) {
        myMap.geoObjects.add(route);
        var points = route.getWayPoints(),
            l = points.getLength();
        // Задаем контент меток в точках.
        for (var i = 0; i < l; i++) {
            points.get(i).properties.set('balloonContent', data.times[i].toString());
        }
 
    }, function (error) {
        alert('Возникла ошибка: ' + error.message);
    });
}
</script>
но не помогло. карта пустая отображается. написали
P.S. В вашем коде, конкретно в SQL-запросе, явная SQL-инъекция
http://ru.wikipedia.org/wiki/S... 0%B8%D1%8F

я не веб программист. чтоб избежать инъекции исходя из той статьи я понял надо экранировать?
посоветуйте как поступить. устал уже возиться с ним. осталось только вывод на карту.
0
08.05.2014, 09:15
 Комментарий модератора 
Все обсуждения в теме!
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
23.05.2014, 17:03  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
<meta charset="UTF-8">
 
<?php
 
function connect(){
 
 
 
  $connect = mysql_connect($host, $user, $password);
 
  mysql_select_db($database);
 
}
 
  $date=$_POST['date'];
 
  $login=8;
 
  $password;
 
  $user_id;
 
  $users= "users";
 
  $data = "data";
 
  $pixel= "pixel";
 
  $temp1="5a3fa3504f2a80dfa5b17a0e74d346ae";
 
  $myArr = array();
 
  $i=0;
 
  $l=0;
 
  $p=0;
 
  $data2 = array();
 
  $json;
 
  $jlat;
 
  $jlon;
 
  $jtime;
 
  $data;
 
 
 
function kuki(){
 
global $login, $password;
 
  $temp1="5a3fa3504f2a80dfa5b17a0e74d346ae";
 
  if (isset($_COOKIE["$temp1"])) {
 
    $login = $_COOKIE["$temp1"];
 
    if (isset($_COOKIE["$login"])) {
 
      $password = $_COOKIE["$login"];
 
    }  else {
 
      echo header('Location: http://www.fay-say.net78.net/index.php');
 
    }
 
  } else {
 
    echo header('Location: http://www.fay-say.net78.net/index.php');
 
  }
 
}
 
function autorization(){
 
  connect();
 
  global $login, $password,$user_id;
 
  $sql="SELECT * FROM `users` WHERE login='$login'";
 
  $query=mysql_query($sql);
 
  $user_data = mysql_fetch_array($query);
 
  $user_id=$user_data['id_users'];
 
  echo "+++".$user_id."+++";
 
}
 
echo $date;
 
kuki();
 
autorization();
 
carts();
 
 
 
if (isset($_POST[add])) {
 
  $imei=$_POST['imei'];
 
  $sim=$_POST['sim'];
 
  $sql1="SELECT COUNT( `id_user` =  '$user_id' ) FROM `data` WHERE `imei` = '$imei'";
 
  $query1=mysql_query($sql1);
 
  $user_data1 = mysql_fetch_array($query1); 
 
  $k=$user_data1[0];
 
  if ($k==0) {
 
    $sql2="INSERT INTO  `data` (`id_user` ,`imei` ,`sim`)VALUES ( '$user_id', '$imei', '$sim');";
 
    echo $sql2;
 
    $query2=mysql_query($sql2);
 
    echo "DATA IS ADDED";
 
  }else{
 
    echo "THIS DATA DEVICES YOU HAVE ENTERED";
 
  }
 
}
 
 
 
function displey () {
 
  global $user_id;
 
  $sql="SELECT * FROM `data` WHERE `id_user`=$user_id";
 
  $query=mysql_query($sql);
 
  echo'<select name="menu" size="1">';
 
  $i=0;
 
  while ($row = mysql_fetch_array($query)) {
 
    echo'<option '.(($i==0)?'selected="selected"':'').' value="'.$row["id_data"].'">'.$row["name"].'</option>';
 
    $i++;
 
  }
 
  echo"</select>";
 
}
 
 
 
function carts(){
 
  if (isset($_POST[show])) {
 
 
 
 
 
  $id_data = $_POST[menu];
 
 $date = $_POST[date];
 
 //узнаем imei телефона
 
 
$sql1 = "SELECT `imei` FROM `data` WHERE (`id_data`='$id_data' )"; 
 
 
 
$query1=mysql_query($sql1);
 
$user_data1 = mysql_fetch_array($query1); 
 
$sim = $user_data1['imei'];
 
 
 
echo $sim;
 
 
 
 // из бд втаскиваем интересующие нам столбцы
 
$sql6= "SELECT `time`,`lat`,`lon` FROM `pixel` WHERE (`date`='$date')&(`sim`='$sim')"; 
 
 
 
  //89014103211118510720  SELECT COUNT (`sim`='89014103211118510720') FROM `pixel` WHERE `date`='2014-04-18'
 
 
 
$query6=mysql_query($sql6);
 
 
 
echo " - ";
 
 
 
$time = array();
 
global $data2;
 
global $myArr;
 
global $i;
 
global $json;
 
global $l;
 
global $p;
 
//$myArr[]=array();
 
while($row=mysql_fetch_array($query6)) {
 
  
 
  $myArr[$l][0]=$row['lat'];
 
  $lat [$l] = array ($row['lat']);
 
  $myArr[$l][1]=$row['lon'];
 
  $lon [$l] = array ($row['lon']);
 
  $myArr[$l][2]=$row['time'];
 
  $time [$l] = array ($row['time']);
 
  $l++;
 
}
 
 
 
 
 
for ($p=0;$p<=$l;$p++) {
 
 
 
  echo " - ";
 
  echo $myArr[$p][0];
 
  echo " - ";
 
  echo $myArr[$p][1];
 
  echo " - ";
 
  echo $myArr[$p][2];
 
  echo " - ";
 
  echo $p;
 
  
 
}
 
 
 
$data2 = array(
 
    'points' => array(),
 
    'times' => array()
 
);
 
 
 
 
 
for($y=0;$y<=$l;$y++) {
 
    $data2->points[] = array($myArr[$y][0],$myArr[$y][1]);
 
    $data2->times[] = $myArr[$y][2];
 
}
 
 
 
echo $l;
 
echo " - ";
 
echo $myArr[20][0];
 
echo " - ";
 
echo $myArr[20][1];
 
echo " - ";
 
echo $myArr[20][2];
 
echo " * * ";
 
var_dump ($data2);
 
echo " * * ";
 
 
 
 
 
}
 
}
 
global $data2;
 
?>
 
 
 
 
 
  <form method='post' action='/delcookie.php'>
 
    <input type="submit" name="exit" value = "EXIT" /> 
 
  </form>
 
 
 
  <form method='post' action='/show.php'>
 
    ENTER IMEI AND SERIAL NUMBER OF SIM CARD <br />
 
    YOUR IMEI : <input type="text" size="30" name="imei" placeholder = " | imei " required/><br />
 
    YOUR NUMBER OF SIM : <input type="text" size="50" name="sim" placeholder = " | sim " required/><br />
 
    NAME : <input type="text" size="50" name="name" placeholder = " | name " required/><br />
 
    <input type="submit" name="add" value = "ENTER" />
 
  </form>
 
 
 
 
 
 <form method='post' action='/show.php'>
 
   <?displey();?>   
 
    <input type="date" name="date"/>
 
    <input type="submit" name="show" value = "Display" /> 
 
  </form>
 
 
 
<!DOCTYPE html>
 
 
 
<html>
 
 
 
<head>
 
    <title>маршрут</title>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    <script src="//api-maps.yandex.ru/2.0/?load=package.standard,package.route&lang=ru-RU" type="text/javascript"></script>
 
    <script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
 
    <script type='text/javascript'>
 
 
 
ymaps.ready(init);
 
 
 
function init() {
 
    var myMap = new ymaps.Map('map', {
 
            center: [0, 0],
 
            zoom: 3
 
        });
 
        data=<?= json_encode($data2)?>;
 
 
 
    ymaps.route(data.points).then(function (route) {
 
        myMap.geoObjects.add(route);
 
        var points = route.getWayPoints(),
 
            l = points.getLength();
 
        // Задаем контент меток в точках.
 
        for (var i = 0; i < l; i++) {
 
            points.get(i).properties.set('balloonContent', data.times[i].toString());
 
        }
 
 
 
    }, function (error) {
 
        alert('Возникла ошибка: ' + error.message);
 
    });
 
}
 
</script>
 
 
 
</head>
 
 
 
<body>
 
    <div id="map" style="width:600px; height:500px"></div>
 
    <div id="list"></div>
 
</body>
 
 
 
</html>


не работает кусок в котором формирется массив для передачи в код карты:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$data2 = array(
 
    'points' => array(),
 
    'times' => array()
 
);
 
 
 
 
 
for($y=0;$y<=$l;$y++) {
 
    $data2->points[] = array($myArr[$y][0],$myArr[$y][1]);
 
    $data2->times[] = $myArr[$y][2];
 
}

$data2 получается пустая. ошибок нет. Помогите доделать пожалуйста. осталось только это чтобы из базы координаты на карту передать. этот последный кусок дали в службе поддержке яндекс карт, но пустой массив получается. Помогите пожалуйста.
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
28.05.2014, 19:34  [ТС]
Сделали))) Спасибо.



Может кто тоже делает что-то такое и понадобыиться.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<?
 
$data2 = array(
 
    'points' => array(),
 
    'times' => array()
 
);
 
$str="";
 
$tms="";
 
for($i=0;$i<=count($myArr)-1;$i++){
 
  $data2['points'][$i]=array();
 
  $data2['points'][$i][0]=$myArr[$i][0];
 
  $data2['points'][$i][1]=$myArr[$i][1];
 
  if($i!=0) $str.=","; $tms.="";
 
  $pos="[".$myArr[$i][0].",".$myArr[$i][1]."]"; 
 
  $str.=$pos;
 
  $data2['times'][$i]=$myArr[$i][2];
 
  $tms.=".$myArr[$i][2].";
 
}
 
global $data2;
 
 
 
?>
 
 
 
 
 
 
 
<!DOCTYPE html>
 
<html>
 
<head>
 
    <title>Примеры. Метка</title>
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
    <!-- Если вы используете API локально, то в URL ресурса необходимо указывать протокол в стандартном виде (http://...)-->
 
    <script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
 
    <style>
 
        html, body, #map {
 
            width: 100%; height: 100%; padding: 0; margin: 0;
 
        }
 
    </style>
 
 
 
<script type="text/javascript">
 
<? if(count($date2["points"])!=0){?>
 
ymaps.ready(init);
 
<?}else{?>
 
alert("извините, но запрашиваемые данные отсутствуют");
 
<?}?>
 
 
 
function init () {
 
    var myMap = new ymaps.Map("map", {
 
            center: [<?=$myArr[0][0];?>,<?=$myArr[0][1];?>],
 
            zoom: 10
 
        })
 
 
 
   // Создаем геообъект с типом геометрии "Точка".
 
      
 
<?
 
for($i=0;$i<=count($data2["points"]);$i++){
 
  echo"
 
  myGeoObject".$i." = new ymaps.GeoObject({
 
            geometry: {
 
                type: \"Point\",
 
                coordinates: [".$data2["points"][$i][0].", ".$data2["points"][$i][1]."]
 
            },
 
            properties: {
 
                iconContent: '".$i."',
 
                hintContent:  '".$data2["times"][$i]."'
 
            }
 
        }, {
 
            preset: 'islands#icon',
 
            iconColor: '#0095b6'
 
        });
 
 
 
    myMap.geoObjects
 
        .add(myGeoObject".$i.")";
 
}
 
?>
 
 
 
    // Создаем ломаную с помощью вспомогательного класса Polyline.
 
    var myPolyline = new ymaps.Polyline([
 
            // Указываем координаты вершин ломаной.
 
            <?echo $str;?>
 
        ], {
 
            // Описываем свойства геообъекта.
 
            // Содержимое балуна.
 
            balloonContent: "Ломаная линия"
 
        }, {
 
            // Задаем опции геообъекта.
 
            // Отключаем кнопку закрытия балуна.
 
            balloonCloseButton: false,
 
            // Цвет линии.
 
            strokeColor: "#000000",
 
            // Ширина линии.
 
            strokeWidth: 4,
 
            // Коэффициент прозрачности.
 
            strokeOpacity: 0.5
 
        });
 
 
 
    // Добавляем линии на карту.
 
    myMap.geoObjects        
 
        .add(myPolyline);
 
 
 
}
 
 
 
//function init2() {
 
 
 
 
 
//}
 
 
 
 
 
</script>
 
</head>
 
<body>
 
    <div id="map"></div>
 
</body>
 
</html>



Вот такой код получлось, Выводит по очереди за базы координаты, в балун пишет его номер и время(тоже из базы).
0
178 / 72 / 2
Регистрация: 11.07.2010
Сообщений: 456
15.05.2015, 01:20
в сборе бы итог посмотреть
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
15.05.2015, 11:52  [ТС]
fay-say.net78.net. Сайт работает, без дизайна и нечего, там только форма вводаи отображает на яндекс карте. Но работает)

Добавлено через 5 минут
1, регистрация - латинские буквы и цифры
2, вход на сайт
3, запустить прогу на телефоне
4, на сайте добавить телефон вводя imei без "-" только цифры и код симки(не номер 10 цифр,код другое) и присвоить аппарату имя
5, выбрать его и дату и нажать display
вывод точек от первого до последнего за день и линией связаны точки, пр наведений на точку отображается время

Добавлено через 1 минуту
п.с. можно добавить 10 устройств
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2015, 11:52
Помогаю со студенческими работами здесь

Яндекс карты и Яндекс MapKit
Передо мной стоят такие задачи: показать карту, на ней показать маркеры на определенных координатах, построить маршрут между задаными...

Яндекс карты
Подскажите, как яндекс расставляет позиции для организаций по Яндекс картам. У меня ощущение, что по Я.Каталогу. Не?

яндекс карты
ymaps.ready(func); function func() { var x = new XMLHttpRequest(); ymaps.ready(f); function f() {

Яндекс.Карты
В дельфи выбираю из локальной базы ФИО и координаты, создаю HTML файлик, добавляю точки. Но попросили сделать легенду для карты (что бы...

яндекс карты
На странице есть город в переменной $gorod И есть карта&lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru