Клуб API Карт

Как реализовать такую задумку.... поиск по данным из формы

Пост в архиве.

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

 

 

Страна:



Область:



Город:


Улица:





Или с выподаещего меню:


Страна




Область




Город





Улица






 

10 комментариев
Уваров Геннадий Геннадьевич
28 января 2016, 00:07

Да, оно.. только не могу понять как передать данные, и примере нет именно с формой...

Уваров Геннадий Геннадьевич
28 января 2016, 00:07

Спасибо

Уваров Геннадий Геннадьевич
28 января 2016, 00:07

Подскажите пожалуйста! я не силен в скрипте...

В примере на который вы сосласись где в коде html и js переменная которую предают ?

Если брать input то не вижу в коде name....

Подскажите что берет search-address.js ???

Уваров Геннадий Геннадьевич
28 января 2016, 00:07

typeahead - этот параметр ?

 

SearchAddress.FormView.prototype = {

    constructor: SearchAddress.FormView,

    _attachHandlers: function () {

        this._form

            .on('submit', $.proxy(this._onFormSubmit, this));

        this._input

            .on('keydown', $.proxy(this._onInputChange, this))

            .typeahead({

                source: $.proxy(this._dataSource, this),

                items: this.getSuggestConfig().limit,

                minLength: 3

            });

Это bootstrap plugin для реализации подсказок под полем ввода (suggest)

Уваров Геннадий Геннадьевич
28 января 2016, 00:07

В поисках добился до такого кода:

Подскажите как передать переменную из php $ugg_city в скрипт, в место где написанно 'Владивосток' ???

И тут же: почему не ставиться метка ???



Код такой:

$ugg_city = get_post_meta($post->ID, 'cp_city', true);
 
  echo $ugg_city;
     
    ?>
   
    <script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript">script>
   <script type="text/javascript">
        
    ymaps.ready(init) ;
       var myMap,
        myPlacemark;


 function init(){
       // Поиск координат центра.
    ymaps.geocode('Владивосток', { results: 1 }).then(function (res) {
        // Выбираем первый результат геокодирования.
        var firstGeoObject = res.geoObjects.get(0),

        // Создаем карту с нужным центром.
            myMap = new ymaps.Map("map", {
                center: firstGeoObject.geometry.getCoordinates(),
                zoom: 14,
                
            }) ;
          
            myPlacemark = new ymaps.Placemark(firstGeoObject.geometry.getCoordinates, { }) ;
      
            myMap.geoObjects.add(myPlacemark);


    },
                                                      
function (err) {
        // Если геокодирование не удалось, сообщаем об ошибке.
        alert(err.message) ;
    }) ;

    }
       
    
    script>
    

Уваров Геннадий Геннадьевич
28 января 2016, 00:07

с меткой разобрался.....

Осталось понять как передать из php в script

Уваров Геннадий Геннадьевич
28 января 2016, 00:07

Решил.. ура...

 

<div id="gmap" class="mapblock">
    
      
      //   $make_address = get_post_meta($post->ID, 'cp_street', true) . ' ' . get_post_meta($post->ID, 'cp_city', true) . ' ' . get_post_meta($post->ID, 'cp_state', true) . ' ' . get_post_meta($post->ID, 'cp_zipcode', true);
  
  $ugg_city = get_post_meta($post->ID, 'cp_city', true);
 
  echo $ugg_city;
     
    ?>
   
    <script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript">script>
   <script type="text/javascript">
        
    ymaps.ready(init) ;
       
     var myMap,
         xyz,
         myPlacemark;
     
     xyz = '';


 function init(){
       // Поиск координат центра.
    ymaps.geocode(xyz, { results: 1 }).then(function (res) {
        // Выбираем первый результат геокодирования.
        var firstGeoObject = res.geoObjects.get(0),

        // Создаем карту с нужным центром.
            myMap = new ymaps.Map("map", {
                center: firstGeoObject.geometry.getCoordinates(),
                zoom: 14,
              controls: ['smallMapDefaultSet']
                
            }) ;
          
            myPlacemark = new ymaps.Placemark(firstGeoObject.geometry.getCoordinates(), { }) ;
      
            myMap.geoObjects.add(myPlacemark);


    },
                                                      
function (err) {
        // Если геокодирование не удалось, сообщаем об ошибке.
        alert(err.message) ;
    }) ;

    }
    
    
    
    script>
    

    
   
 <div id="map" style="width: 340px; height: 416px">div>  
  

div>