Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Поиск + API Яндекс.Карт

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Funtik44
Отправлено: 16 Сентября, 2010 - 10:09:18
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Добрый день всем.

Есть сайт, при входе на страницу которого, пользователь вводит имя объекта в строку поиска, и на сайт выводится контент из MySql по запрашиваемому объекту (это все работает). На этой же странице я разместил API Яндекс.Карт. Необходимо добиться того, чтобы вместе с контентом на карте отображалось место. Ну например пользователь ввел город "Москва" вывелась информация по городу Москва и заодно на карте появилась собственно сама Москва. Как мне это сделать?

Вот скрипт поиска:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php include ("config.php");
  2. $search = mysql_real_escape_string($_POST['search']);
  3. $res = mysql_query("SELECT `id`,`placename`,`description` from `places` where `description` like '%".$_POST['search']."%'", $db);
  4. if (!$res) {echo "Запрос не прошел."; exit(mysql_error());}
  5. $myrow = mysql_fetch_array($res);
  6. ?>


Вот пример того, как поиск выводит данные на сайт:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <form action="" method=post>
  2. <input id="inputtext" type="text" name="search" />
  3. <input id="inputbut" type="image" src="images/search.gif" name="submit">
  4. </form>


Вот стандартный скрипт взятый с сайта http://api[dot]yandex[dot]ru для вставки карты:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <script src="http://api-maps.yandex.ru/1.1/index.xml?key=Здесь ключ активации=="
  2.         type="text/javascript"></script>
  3.     <script type="text/javascript">
  4.        window.onload = function () {
  5.            var map = new YMaps.Map(document.getElementById("YMapsID"));
  6.            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
  7.                         map.addControl(new YMaps.TypeControl());
  8.                         map.addControl(new YMaps.ToolBar());
  9.                         map.addControl(new YMaps.Zoom());
  10.                         map.addControl(new YMaps.MiniMap());
  11.                         map.addControl(new YMaps.ScaleLine());
  12.                         var zoomControl = new YMaps.Zoom();
  13.                         }
  14.    </script>


Отредактировано модератором: Uchkuma, 16 Сентября, 2010 - 10:46:49
Строго рекомендую Вам не клонировать темы в разных разделах форума! Если Вы считаете, что разместили тему не в том разделе, попросите модератора перенести ее.
Это можно сделать через кнопку "Жалоба".
 
 Top
Viper
Отправлено: 16 Сентября, 2010 - 10:22:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Перенесено из темы "Поиск + API Яндекс.Карт"
Вы можете использовать встроенный поиск YMap

CODE (htmlphp):
скопировать код в буфер обмена
  1. map.addControl(new YMaps.SearchControl(), new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT));


гляньте ещё тут http://api[dot]yandex[dot]ru/maps/jsapi/[dot][dot][dot]s/geocoding[dot]html


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Funtik44
Отправлено: 16 Сентября, 2010 - 10:35:34
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Перенесено из темы "Поиск + API Яндекс.Карт"
Дело в том, что у меня уже есть свой поиск, я хочу чтобы он работал еще с API Яндекс.Карт. Вот что получилось, не могу понять, что нужно поменять:

Есть поиск:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php include ("config.php");
  2. $search = mysql_real_escape_string($_POST['search']);
  3. $res = mysql_query("SELECT `id`,`placename`,`description` from `places` where `description` like '%".$_POST['search']."%'", $db);
  4. if (!$res) {echo "Запрос не прошел."; exit(mysql_error());}
  5. $myrow = mysql_fetch_array($res);
  6. ?>


Потом вывод данных:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <form action="" method=post onsubmit="showAddress(this.address.value);return false;">
  2. <input id="inputtext" type="text" name="search" />
  3. <input id="inputbut" type="image" src="images/search.gif" name="submit">
  4. </form>


Есть скрипт, который выводит карту и осуществляет поиск:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <script src="http://api-maps.yandex.ru/1.1/index.xml?key=Ключь активации="
  2.         type="text/javascript"></script>
  3.     <script type="text/javascript">
  4.        window.onload = function () {
  5.            var map = new YMaps.Map(document.getElementById("YMapsID"));
  6.            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
  7.                         map.addControl(new YMaps.TypeControl());
  8.                         map.addControl(new YMaps.ToolBar());
  9.                         map.addControl(new YMaps.Zoom());
  10.                         map.addControl(new YMaps.ScaleLine());
  11.                         var zoomControl = new YMaps.Zoom();
  12.                         }
  13.                         function showAddress (value) {
  14.            map.removeOverlay(geoResult);
  15.            var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});
  16.            YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
  17.                if (this.length()) {
  18.                    geoResult = this.get(0);
  19.                    map.addOverlay(geoResult);
  20.                    map.setBounds(geoResult.getBounds());
  21.                }else {
  22.                    alert("Ничего не найдено")
  23.                }
  24.            });
  25.            YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
  26.                alert("Произошла ошибка: " + error);
  27.            })
  28.        }
  29.    </script>


В скрипте используется ID тега input - "address" у меня у этого тега ID = "inputtext" т.к. прописаны в отдельном файле CSS. Как мне изменить скрипт API Яндекс.Карт, чтобы он работал с тегом input у которого ID = "inputtext"?
 
 Top
Funtik44
Отправлено: 16 Сентября, 2010 - 13:23:44
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Ну что, никто не знает? Тут вроде должно быть все легко!?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB