diff --git a/ground/controllers/JsonController.php b/ground/controllers/JsonController.php
index 0b76365..c088a4e 100644
--- a/ground/controllers/JsonController.php
+++ b/ground/controllers/JsonController.php
@@ -192,5 +192,22 @@ class JsonController extends Controller
}
}
+ static function actionGeoCoding()
+ {
+ $address = isset($_GET['search']) ? $_GET['search'] : '';
+ $res = @file_get_contents('http://geocode-maps.yandex.ru/1.x/?format=json&geocode='.urlencode($address));
+ $res = json_decode($res, true);
+
+ if (isset ($res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['Point']['pos']))
+ $point = explode (' ', $res['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['Point']['pos']);
+ else
+ $point = array(0, 0);
+
+ $coords = array();
+ $coords['lat'] = $point[1];
+ $coords['lng'] = $point[0];
+
+ self::renderPartial('json.php', $coords);
+ }
}
diff --git a/ground/views/indexTemplate.php b/ground/views/indexTemplate.php
index fab6f8a..8f7cbfd 100644
--- a/ground/views/indexTemplate.php
+++ b/ground/views/indexTemplate.php
@@ -6,6 +6,7 @@
+
@@ -26,7 +27,13 @@
Как пользоваться
Легенда
Список точек
-
+
+
+
Карты
+ Layers
+
+
+
Фильтры и поиск
@@ -34,10 +41,6 @@
-
-
Карты
- Layers
-
Маршрут
diff --git a/public/css/style.css b/public/css/style.css
index 4e41e23..ccb3dd8 100644
--- a/public/css/style.css
+++ b/public/css/style.css
@@ -7,7 +7,7 @@
*/
html {height: 100%;}
-body {margin: 0; padding: 0; height: 100%;}
+body {margin: 0; padding: 0; height: 100%; width: 100%; overflow: hidden;}
div#map {width: 100%; position: absolute; top: 0; bottom: 0px;}
body.openBox div#map {right: 250px;}
div.infoCard h3 {text-align: center; margin-top: 0;}
@@ -20,7 +20,7 @@ div.add {cursor: pointer;}
.form-group.has-error .error {display: inline-block;}
#wayPoints {margin-bottom: 10px;}
-#wayPoints .wayPoint {cursor: pointer; border: solid 1px #999; padding: 2px 5px; margin-bottom: 3px;}
+#wayPoints .wayPoint {cursor: pointer; border: solid 1px #999; padding: 2px 5px; margin-bottom: 3px; background-color: #fff;}
#wayPoints .wayPoint span {font-weight: bold; color: red;}
#routes {margin-bottom: 10px; height: 200px; background-color: #ff9999;}
@@ -44,7 +44,8 @@ body.openBox div#box {display: block;}
div#box {width: 250px; display: none; position: absolute; top: 0; right: 0;bottom: 0px; border-left: 2px solid rgba(45, 45, 45, 0.8); padding: 0 7px;}
div#box #boxClose {position: absolute; right: 7px; top: 7px; color: #999; font-size: 18px; font-weight: bolder; cursor: pointer;}
div#box div {display: none;}
-div#box div > div{display: block;}
+div#box div div{display: block;}
+div#box h3 {margin-top: 10px;}
/*Leaflet FIX*/
.leaflet-popup-content-wrapper .leaflet-popup-scrolled {border-bottom: none;border-top: none;}
\ No newline at end of file
diff --git a/public/js/main.js b/public/js/main.js
index 5fa637b..7804860 100644
--- a/public/js/main.js
+++ b/public/js/main.js
@@ -287,16 +287,26 @@ function initCategories()
*/
function searchAdderess()
{
- var myGeocoder = ymaps.geocode($('#addressField').val());
- myGeocoder.then(
- function(res) {
- search = new ymaps.Placemark(res.geoObjects.get(0).geometry.getCoordinates());
- myMap.geoObjects.add(search);
- myMap.setCenter(res.geoObjects.get(0).geometry.getCoordinates(), 10);
- },
- function(err) {
+ $.ajax({
+ url: "/json/geocoding",
+ data: {
+ search: $('#addressField').val()
+ },
+ success: function(data)
+ {
+ if (data.lat && data.lng)
+ {
+ myMap.setView([data.lat, data.lng], 13);
+ L.popup()
+ .setLatLng([data.lat, data.lng])
+ .setContent('Координаты: lat:'+data.lat+' lng:'+data.lng)
+ .openOn(myMap);
+ } else
+ {
+ alert('Ничего не найдено.');
}
- );
+ }
+ });
}
/**