Я нашел код 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>
Но я не знаю, что я отсутствует на моей странице формы, что я не получаю карту на странице формы Ни в поле адреса не работает Позвольте мне знаю, что я делаю неправильно. Спасибо
Попробуйте это, для регистрации JS-файла используйте '$ this-> registerJsFile ('pathoffile');' и для регистрации JS Script используйте '$ this-> registerJs ('js script');' – GAMITG
@gamitg попробовал это как хорошо .. не работает .. я пробовал простой ввод добавления карты, используя '' этот скрипт работает, но этот плагин использует некоторые разные карта AJAX. Может быть, это причина, по которой он не загружается на страницу –
Где находятся ваши файлы физически? На первый взгляд это будет выглядеть в 'frontend/web/src', это где? Кроме того: проверьте свою консоль браузера на файлы, которые нельзя загрузить, и добавьте их на свой вопрос. – Blizz