Просмотр темы
Как подключить яндекс.карты к новостям?
|
|
Serge Renard |
Опубликовано 18.04.2013 12:32
|
Опытный пользователь Сообщений: 250 Зарегистрирован: 18.02.2013 18:46 |
Создать массив, сделать выборку из БД и в цикле заполнить - разве не так? Или о чём-то другом речь? |
|
|
yury |
Опубликовано 18.04.2013 13:08
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
Serge Renard написал: Создать массив, сделать выборку из БД и в цикле заполнить - разве не так? Или о чём-то другом речь? Совершенно верно, вот вопрос как раз в том как это сделать? пример кода |
|
|
Serge Renard |
Опубликовано 18.04.2013 15:58
|
Опытный пользователь Сообщений: 250 Зарегистрирован: 18.02.2013 18:46 |
Ну как-то так:$array_of_adres = array(); В переменной $query содержится текст необходимого запроса. Разумеется, код далеко не идеален, набросал просто на коленке, чтобы можно было понять принципы. |
|
|
spiker |
Опубликовано 18.04.2013 17:33
|
Опытный пользователь Сообщений: 217 Зарегистрирован: 26.08.2010 08:49 |
Зачем городить такой огород :) ? Создать массив из нужных значений таблицы, т.е. : $query = dbquery( ....запрос...); $array_of_adres = array(); while ($data = dbarray($query)) $array_of_adres[] = "'".$data['adress']."'"; Затем массив вставить в нужное место, переведя его в текст: join(',', $array_of_adres) |
|
|
Serge Renard |
Опубликовано 18.04.2013 17:47
|
Опытный пользователь Сообщений: 250 Зарегистрирован: 18.02.2013 18:46 |
Я не разбирался просто особо с фьюженовскими функциями Набросал пример на чистом PHP. |
|
|
yury |
Опубликовано 18.04.2013 20:56
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
дамс, это там оказывается еще не все, там всякие клстеры есть которые объединяют в одну точку несколько объектов (например если по одному адресу находится несколько объектов), с возможностью вывода ссылок в описании балуна) ппц короче) а это уже видимо в массив как-то надо вывести по принципу http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/Clusterer.xml |
|
|
yury |
Опубликовано 19.04.2013 07:21
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
может кто подскажет еще, как сформировать подобный массив: myGeoObjects = []; myGeoObjects[0] = new ymaps.GeoObject({ geometry: {type: "Point", coordinates: [56.034, 36.992]}, properties: { clusterCaption: 'Геообъект №1', balloonContentBody: 'Содержимое балуна геообъекта №1.' } }); myGeoObjects[1] = new ymaps.GeoObject({ geometry: {type: "Point", coordinates: [56.021, 36.983]}, properties: { clusterCaption: 'Геообъект №2', balloonContentBody: 'Содержимое балуна геообъекта №2.' } }); |
|
|
Rush |
Опубликовано 19.04.2013 08:59
|
Администратор Разработчики Группа поддержки Сообщений: 1418 Зарегистрирован: 31.08.2010 14:41 |
это не просто массив, а массив обьектов. а в конструктор обьекта передается массив параметров. если надо формировать в пхп - без json никак
как то так. можно мудрить и пробовать в пхп создавать уже готовые к использованию обьекты, но это сложнее |
|
|
yury |
Опубликовано 19.04.2013 09:22
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
а универсальный массив? т.е если в БД 100 точек, то и выводит в массиве 100 точек |
|
|
mishqa35 |
Опубликовано 21.04.2013 11:32
|
Опытный пользователь Сообщений: 307 Зарегистрирован: 04.01.2011 18:50 |
Если сделать панель или отдельную страницу то как то вот так, если же выводить в файле news.php то можно подставить код плямо в него, чтобы не делать лишние запросы$count = dbcount("(news_id)", DB_NEWS, Это координаты города, Самара |
|
|
yury |
Опубликовано 21.04.2013 16:25
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
а что в итоге должно вывестись? с кластерами (если в одной точке несколько событий при открытии балуна с показом ссылок на новости) или просто координаты? а то просто точки как раз спайкер код приводил в пример. посмотри если не сложно этот пост, о чем собствено обсуждаем): http://rusfusion....post_17347 или более наглядный пример: http://api.yandex...sterer.xml по сути должно получиться при выводе нечто такое, взял с одной из яндекс.карт скрин - если в одной точке несколько новостей, или скрин 2 - если 1 новость
yury присоединено следующее:изображения:
Изменил(а) yury, 21.04.2013 18:33 |
|
|
yury |
Опубликовано 21.04.2013 19:41
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
Вот даже по сути аналог, многоуважаемый spiker навел на пример: http://www.isbmod... |
|
|
yury |
Опубликовано 22.04.2013 06:53
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
Нашел почти готовый пример, может кому пригодится http://webmap-blo...s-kart-2-x осталось понять как его адаптировать Изменил(а) yury, 22.04.2013 10:10 |
|
|
yury |
Опубликовано 22.04.2013 19:21
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
Разобрался как писать координаты в БД. осталось понять как json работает и вывести эти метки Вот такой код примера <?php include("../../config.php"); header('Content-Type: text/html; charset=utf-8'); if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { $json = '{markers:['."\n"; $query1= "SELECT * FROM qiwiterminal"; $result1 = mysql_query($query1); if(mysql_num_rows($result1)>0) { while ($par1 = mysql_fetch_array($result1)){ $cname = 'Теминал QIWI'; $exp_str = explode(",", $par1['coords']); $lat = $exp_str[0]; $lng = $exp_str[1]; $json.= "\n".'{'.'"id": "'.$par1['id'].'",'; $json.= '"cname": "'.$cname.'",'; $json.= '"address": "'.$par1['address'].'",'; $json.= '"lat": "'.$lat.'",'; $json.= '"lon": "'.$lng.'"'; $json.= '},'; } $json = substr($json, 0,-1); echo $json; echo '], ', "\n", '"status": "OK"', "\n", '}'; } else { echo '{"status": "false"}'; } } ?> |
|
|
yury |
Опубликовано 22.04.2013 19:29
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
переделал код под свою таблицу, но пока чтото все равно отказывается выводить. файл вывода маркеров из БД
файл скрипта вывода уже на карте
что упустил? |
|
|
SchreiBear |
Опубликовано 26.06.2013 22:59
|
Ветеран Сообщений: 625 Зарегистрирован: 05.01.2013 11:01 |
километровое детище
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
|
|
|
yury |
Опубликовано 16.07.2013 18:09
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
все сделал и работает) но есть один ньюанс. можно к новости добавить только один адрес, а надобно иногда, чтобы можно было добавить несколько адресов. как я понимаю, надо создать таблицу, в которую будут писаться адреса и они будут индентифицирвоаться с ИД новости. но чуток с яндекс.картами оказалось посложнее реализовать. Изменил(а) yury, 16.07.2013 20:43 |
|
|
yury |
Опубликовано 16.07.2013 18:09
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
кто может подмочь за десяток-полтора бакинских допилить сие творение?
Изменил(а) yury, 16.07.2013 18:16 |
|
|
SchreiBear |
Опубликовано 16.07.2013 22:07
|
Ветеран Сообщений: 625 Зарегистрирован: 05.01.2013 11:01 |
зачем так все услоэнять...можно и с гоогле обшаться и гораздо проше...не какой ява ..чистый пхп http://irinchik.b...7#post_107 вот пример работы Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
|
|
|
yury |
Опубликовано 17.07.2013 06:26
|
Супер Администратор Сообщений: 1051 Зарегистрирован: 26.07.2010 13:12 |
уже к яндексу все прикреплено. осталось дело за малым всего лишь |
|
Поделиться этой темой | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |