2015-08-28 2 views
1

Я нашел код jquery онлайн для интеграции карты google, и я хочу интегрировать в свое приложение, чтобы правильно получить адрес. This is the jquery i found. Я использую шаблон yii2 Advanced. Я создал новый AssetBundle имени LocateAsset.php код выглядит следующим образомИспользовать встроенный скрипт в представлениях yii2

class LocateAsset extends AssetBundle 
{ 
public $basePath = '@webroot'; 
public $baseUrl = '@web'; 
public $css = [ 
    'css/site.css', 
]; 
public $js = [ 
    'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', 
    'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js', 
    'src/jquery.ui.addresspicker.js', 
    'src/addresspickermap.js', 

]; 
public $depends = [ 
    'yii\web\YiiAsset', 
    'yii\bootstrap\BootstrapAsset', 
]; 
} 

Был встроенный скриптовый на странице плагина оригинальные демо, но я создал отдельный .js файл с именем addresspickermap.js. я зарегистрировать форму с помощью

use backend\assets\LocateAsset; 
LocateAsset::register($this); 

И в то же _form.php я использовал код для интеграции Map

<div class="event-form"> 

<?php $form = ActiveForm::begin(); ?> 
<?= $form->field($model, 'location')->textInput(['maxlength' => true]) ?> 
<div class='clearfix'> 
<div class='input input-positioned'> 
    <label>Address : </label> <input id="addresspicker_map" /> <br/> 
    <label>Locality: </label> <input id="locality" disabled=disabled> <br/> 
    <label>SubLocality: </label> <input id="sublocality" disabled=disabled> <br/> 
    <label>Borough: </label> <input id="administrative_area_level_3" disabled=disabled> <br/> 
    <label>District: </label> <input id="administrative_area_level_2" disabled=disabled> <br/> 
    <label>State/Province: </label> <input id="administrative_area_level_1" disabled=disabled> <br/> 
    <label>Country: </label> <input id="country" disabled=disabled> <br/> 
    <label>Postal Code: </label> <input id="postal_code" disabled=disabled> <br/> 
    <label>Lat:  </label> <input id="lat" disabled=disabled> <br/> 
    <label>Lng:  </label> <input id="lng" disabled=disabled> <br/> 
    <label>Zoom:  </label> <input id="zoom" disabled=disabled> <br/> 
    <label>Type:  </label> <input id="type" disabled=disabled /> <br/> 
</div> 

<div class='map-wrapper'> 
    <label id="geo_label" for="reverseGeocode">Reverse Geocode after Marker Drag?</label> 
    <select id="reverseGeocode"> 
    <option value="false" selected>No</option> 
    <option value="true">Yes</option> 
    </select><br/> 

    <div id="map"></div> 
    <div id="legend">You can drag and drop the marker to the correct location</div> 
</div> 

</div> 

<?php ActiveForm::end(); ?> 


</div> 

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

+0

Попробуйте это, для регистрации JS-файла используйте '$ this-> registerJsFile ('pathoffile');' и для регистрации JS Script используйте '$ this-> registerJs ('js script');' – GAMITG

+0

@gamitg попробовал это как хорошо .. не работает .. я пробовал простой ввод добавления карты, используя '' этот скрипт работает, но этот плагин использует некоторые разные карта AJAX. Может быть, это причина, по которой он не загружается на страницу –

+0

Где находятся ваши файлы физически? На первый взгляд это будет выглядеть в 'frontend/web/src', это где? Кроме того: проверьте свою консоль браузера на файлы, которые нельзя загрузить, и добавьте их на свой вопрос. – Blizz

ответ

1

Ваш код выглядит хорошо для меня. Если вы хотите проверить погоду, сценарий работает или нет, попробуйте firebug или в google chrome, перейдите к проверке элемента на этой странице, перейдите в раздел источника и найдите там сценарий.

Используйте контрольные точки и обновите страницу или создайте событие, которое должно использовать скрипт, и вы узнаете, что ваш скрипт включен или нет.

Возможно, возникла еще одна проблема, связанная с тем, что ваш код css может противоречить одному и тому же имени. Попробуйте изменить имя или идентификатор карты и посмотреть.

Google примеры интеграции карт, и вы найдете множество примеров того, как реализовать карту на своей странице.

+0

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

Смежные вопросы