我在网上发现了一个jquery代码来集成谷歌地图,我希望在我的应用程序中集成以正确获取地址。 This is the jquery i found。我正在使用yii2高级模板。我创建了一个名为LocateAsset.php的新AssetBundle代码如下
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',
];
}
原始演示插件页面上有内联脚本,但我创建了名为addresspickermap.js的单独.js文件。 我确实使用
注册了表单use backend\assets\LocateAsset;
LocateAsset::register($this);
在同一个_form.php中,我使用代码来集成地图
<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 :(得分:1)
您的代码对我来说很好。如果您想查看天气是否正常,请尝试firebug
或在Google Chrome中查看,请转到该页面上的检查元素,转到源部分并在那里找到该脚本。
使用断点并刷新页面或生成应使用脚本的事件,您将知道您的脚本是否包含在内。
可能还有一个问题是您的css
代码可能与同名的代码冲突。尝试更改地图的名称或ID,然后查看。
谷歌整合地图的例子,你会发现很多关于如何在你的网页上实现地图的例子。