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
Отправлено: 15 Сентября, 2010 - 16:53:16
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. <p class="placename"><b><? echo $myrow["placename"];?></b></p>


Вот стандартный скрипт взятый с сайта 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.ScaleLine());
  11.                         var zoomControl = new YMaps.Zoom();
  12.                         }
  13.    </script>


Не подскажите как связать поиск с картой и пожалуйста приведите пример! Заранее премного благодарен! Радость
 
 Top
tokmok
Отправлено: 18 Сентября, 2010 - 19:11:51
Post Id


Новичок


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


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




Попробуйте так, где <?=$ads['adress']?> будет Москва:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2.        
  3.        window.onload = function () {
  4.            var map = new YMaps.Map(document.getElementById("YMapsID"));
  5.            map.addOverlay(new YMaps.Geocoder("<?=$ads['adress']?>", {results: 1, boundedBy: map.getBounds()}));
  6.  
  7. var geocoder = new YMaps.Geocoder("<?=$ads['adress']?>");
  8. YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
  9.    if (this.length()) {
  10.                    geoResult = this.get(0);
  11.                    map.addOverlay(geoResult);
  12.                    map.setBounds(geoResult.getBounds());
  13.    }
  14. })
  15. YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, errorMessage) {
  16.   alert("Произошла ошибка: " + errorMessage)
  17. });
  18. map.addControl(new YMaps.TypeControl());
  19. //map.addControl(new YMaps.ToolBar());
  20. map.addControl(new YMaps.Zoom());
  21. //map.addControl(new YMaps.MiniMap());
  22. map.addControl(new YMaps.ScaleLine());  
  23. //map.addControl(new YMaps.SearchControl());
  24.  }
  25.   </script>
  26. <br /><div id="YMapsID" style="width: 640px; height: 385px; line-height: 1.5; border:1px solid #CCCCCC; position: relative;"></div>

На карте появится только город Москва. Чтобы появлялось несколько городов, нужно немного подкорректировать.

(Отредактировано автором: 18 Сентября, 2010 - 19:18:04)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB