public static function createMap($isAppartment = false) { $baseUrl = Yii::app()->request->baseUrl; //Yii::app()->clientScript->registerScriptFile('http://cdn.leafletjs.com/leaflet-0.7/leaflet.js', CClientScript::POS_END); //Yii::app()->clientScript->registerCssFile('http://cdn.leafletjs.com/leaflet-0.7/leaflet.css'); Yii::app()->clientScript->registerScriptFile($baseUrl . '/common/js/leaflet/leaflet-0.7.2/leaflet.js', CClientScript::POS_HEAD); Yii::app()->clientScript->registerCssFile($baseUrl . '/common/js/leaflet/leaflet-0.7.2/leaflet.css'); Yii::app()->clientScript->registerScriptFile($baseUrl . '/common/js/leaflet/leaflet-0.7.2/dist/leaflet.markercluster-src.js', CClientScript::POS_HEAD); Yii::app()->clientScript->registerCssFile($baseUrl . '/common/js/leaflet/leaflet-0.7.2/dist/MarkerCluster.css'); Yii::app()->clientScript->registerCssFile($baseUrl . '/common/js/leaflet/leaflet-0.7.2/dist/MarkerCluster.Default.css'); self::$jsVars = ' var mapOSMap; var markerClusterOSMap; var markersOSMap = []; var markersForClasterOSMap = []; var latLngList = []; '; self::$jsCode = ' var zoomOSMap = ' . ($isAppartment ? param('module_apartments_osmapsZoomApartment', 15) : param('module_apartments_osmapsZoomCity', 11)) . '; mapOSMap = L.map("osmap").setView([' . param('module_apartments_osmapsCenterY', 55.75411314653655) . ', ' . param('module_apartments_osmapsCenterX', 37.620717508911184) . '], zoomOSMap); L.tileLayer("http://{s}.tile.osm.org/{z}/{x}/{y}.png", { attribution: "© <a href=\'http://osm.org/copyright\'>OpenStreetMap</a> contributors" }).addTo(mapOSMap); '; }
public static function createMap($isAppartment = false) { self::$jsVars = ' var mapOSMap; var markerClusterOSMap; var markersOSMap = []; var markersForClasterOSMap = []; var latLngList = []; '; self::$jsCode = ' var zoomOSMap = ' . ($isAppartment ? param('module_apartments_osmapsZoomApartment', 15) : param('module_apartments_osmapsZoomCity', 11)) . '; mapOSMap = L.map("osmap").setView([' . param('module_apartments_osmapsCenterY', 55.75411314653655) . ', ' . param('module_apartments_osmapsCenterX', 37.620717508911184) . '], zoomOSMap); L.tileLayer("http://{s}.tile.osm.org/{z}/{x}/{y}.png", { attribution: "© <a href=\'http://osm.org/copyright\'>OpenStreetMap</a> contributors" }).addTo(mapOSMap); '; }
public function actionOSmap($id, $model = null) { if ($model === null) { $model = $this->loadModel($id); } $result = CustomOSMap::actionOSmap($id, $model, $this->renderPartial('_marker', array('model' => $model), true)); if ($result) { return $this->renderPartial('_osmap', $result, true); } return ''; }
public function actionOSmap($id) { $model = $this->loadModelUserAd($id); $result = CustomOSMap::actionOsmap($id, $model, $this->renderPartial('//../modules/apartments/views/backend/_marker', array('model' => $model), true)); if ($result) { return $this->renderPartial('//../modules/apartments/views/backend/_osmap', $result, true); } }
public function run() { Yii::app()->getModule('apartments'); $criteria = $this->criteria ? $this->criteria : new CDbCriteria(); if ($this->filterOn) { Yii::app()->controller->aData['searchOnMap'] = true; $this->renderFilter($criteria); } if (param('useYandexMap', 1)) { echo $this->render('application.modules.apartments.views.backend._ymap', '', true); CustomYMap::init()->createMap(); } elseif (param('useGoogleMap', 1)) { CustomGMap::createMap(); } else { echo '<div id="osmap"></div>'; CustomOSMap::createMap(); } $lang = Yii::app()->language; $criteria->select = 'lat, lng, id, type, address_' . $lang . ', title_' . $lang . ', address_' . $lang; $ownerActiveCond = ''; if (param('useUserads')) { $ownerActiveCond = ' AND owner_active = ' . Apartment::STATUS_ACTIVE . ' '; } $criteria->addCondition('lat <> "" AND lat <> "0" AND active=' . Apartment::STATUS_ACTIVE . ' AND (owner_id=1 OR owner_id>1 ' . $ownerActiveCond . ')'); $apartments = Apartment::findAllWithCache($criteria); if (param('useYandexMap', 1)) { $lats = array(); $lngs = array(); foreach ($apartments as $apartment) { $lats[] = $apartment->lat; $lngs[] = $apartment->lng; CustomYMap::init()->addMarker($apartment->lat, $apartment->lng, $this->render('application.modules.apartments.views.backend._marker', array('model' => $apartment), true), true, $apartment); } if ($lats && $lngs) { CustomYMap::init()->setBounds(min($lats), max($lats), min($lngs), max($lngs)); if ($this->withCluster) { CustomYMap::init()->setClusterer(); } else { CustomYMap::init()->withoutClusterer(); } } else { $minLat = param('module_apartments_ymapsCenterX') - param('module_apartments_ymapsSpanX') / 2; $maxLat = param('module_apartments_ymapsCenterX') + param('module_apartments_ymapsSpanX') / 2; $minLng = param('module_apartments_ymapsCenterY') - param('module_apartments_ymapsSpanY') / 2; $maxLng = param('module_apartments_ymapsCenterY') + param('module_apartments_ymapsSpanY') / 2; CustomYMap::init()->setBounds($minLng, $maxLng, $minLat, $maxLat); } CustomYMap::init()->changeZoom(0, '+'); CustomYMap::init()->processScripts(true); } elseif (param('useGoogleMap', 1)) { foreach ($apartments as $apartment) { CustomGMap::addMarker($apartment, $this->render('application.modules.apartments.views.backend._marker', array('model' => $apartment), true)); } if ($this->withCluster) { CustomGMap::clusterMarkers(); } CustomGMap::setCenter(); CustomGMap::render(); } elseif (param('useOSMMap', 1)) { foreach ($apartments as $apartment) { CustomOSMap::addMarker($apartment, $this->render('application.modules.apartments.views.backend._marker', array('model' => $apartment), true)); } if ($this->withCluster) { CustomOSMap::clusterMarkers(); } CustomOSMap::setCenter(); CustomOSMap::render(); } }