Использую виджет SelectMapLocationWidget/
Doc:
Код: Выделить всё
/**
* Выбор местоположения - виджет.
* Виджет запоминает координаты при вводе адреса в инпут и отображает карту Google.
* Необходимо передавать опции:
* - address - селектор, для указания адреса;
* - latitude - селектор для указания широты;
* - longitude - селектор для указания долготы;
* - hideMarker - если определено, то не будет установлен маркер на карте при поиске локации;
* - onLoadMap - если определена функциия, то она будет вызвана при инициализации карты;
* - addressNotFound - сообщение о не найденном адресе.
*
Код: Выделить всё
<?= $form->field($model, 'address_geo_title')->widget(\kalyabin\maplocation\SelectMapLocationWidget::className(), [
'attributeLatitude' => 'lat_contact',
// 'draggable' => true,
'jsOptions'=> [
'addressNotFound'=> Yii::t('users', 'ADDRESS_NOT_FOUND'),
'onLoadMap'=> new JsExpression('
mapOptions = {
center: new google.maps.LatLng(51, 3),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
panControl: true
}
return new google.maps.Map($(self).get(0), mapOptions); '),
],
'attributeLongitude' => 'lng_contact',
'googleMapApiKey' => Yii::$app->google->getSetting('web_google_map_key'),
]); ?>
Код: Выделить всё
return new google.maps.Map($(self).get(0), mapOptions); ,"address":"#settings-address_geo_title","latitude":"#settings-lat_contact","longitude":"#settings-lng_contact","draggable":false});
Uncaught SyntaxError: Unexpected token return
Сейчас в коде у автора
Код: Выделить всё
(function($) {
$.fn.selectLocation = function(options) {
var self = this;
var map;
$(document).ready(function() {
var mapOptions = {
center: new google.maps.LatLng(55.997778, 37.190278),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
panControl: true
};
map = new google.maps.Map($(self).get(0), mapOptions);
if (options.onLoadMap) {
options.onLoadMap(map);
}
// маркер найденной точки
var marker = null;
...