GARDENS CLUB III
Precio desde $70.000
  • Casas: 34
QUITO, Sector Valle de Calderón
Entrega Inmediata
CANTAI 2
Precio desde $55.000
  • Casas: 83
QUITO, Sector Valle de Calderón
Entrega Inmediata
PARQUES DE MIRANDA
Precio desde $71.500
  • Casas: 84
QUITO, Sector Valle de los Chillos
En Construcción
PARQUES DE GALICIA 2
Precio desde $86.500
  • Casas: 65
QUITO, Sector Valle de los Chillos
Entrega Inmediata
EL BELÉN LOTES URBANIZADOS
Precio desde $21.250
  • Lotes primera etapa: 236
QUITO,Sector Cutuglagua
Entrega Inmediata
VILLA TOSCANA
Precio desde $305.000
  • Casas: 15
QUITO, Tumbaco
Entrega Inmediata
MONT BLANC
Precio desde $54.406
  • Departamentos: 196
QUITO, Sector Valle de los Chillos
En Construcción
JARDINES DE LA COLINA
Precio desde $99.900
  • Casas: 126
QUITO, Sector Los Chillos
Entrega Inmediata
TERRABELLA II
Precio desde $58.000
  • Casas: 94
QUITO, Sector Valle de los Chillos
En Construcción
TERRA PLUS
Precio desde $73.125
  • Departamentos: 20
QUITO, Sector Centro Norte
En Construcción
VILLAS DEL MONUMENTO II
Precio desde $80.500
  • Casas: 20
QUITO, Sector Valle de Pomasqui
Entrega Inmediata
LE PARC
Precio desde $78.000
  • Departamentos: 15
QUITO, Sector Centro Norte
Entrega Inmediata
EÓN
Precio desde $82.510
  • Departamentos: 176
QUITO, Sector Norte
En Planos
BOSQUES DE AMARU
Precio desde $70.000
  • Departamentos: 77
  • Locales comerciales: 25
QUITO, Sector Sur
Entrega Inmediata
HOMES NIU
Precio desde $99.900
  • Casas: 12
QUITO, Sector San Antonio de Pichincha
Entrega Inmediata
PAMPLONA
Precio desde $125.300
  • Departamentos: 56
QUITO, Sector Norte
En Construcción
Principal Dacar
VILLA VENTURA
Precio desde $218.410
  • Casas: 17
QUITO, Sector Tumbaco
Entrega Inmediata
dacar principal
DACAR
Precio desde $53.859
  • Casas: 16
QUITO, Sector Calderón
Entrega Inmediata
DOCAMAR
Precio desde $124.400
  • Departamentos: 15
QUITO, Sector Norte
Entrega Inmediata
CAPRI II
Precio desde $110.000
  • Departamentos: 12
QUITO, Sector Norte
Entrega Inmediata
Se ha producido un error al procesar la plantilla.
The FreeMarker value exists, but has nothing inside it; the TemplateModel object (class: freemarker.ext.beans.StringModel) has returned a null instead of a String. This is possibly a bug in the non-FreeMarker code that builds the data-model.
The blamed expression:
==> featureCollectionJSONObject  [in template "10157#10197#536288" at line 123, column 19]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${featureCollectionJSONObject}  [in template "10157#10197#536288" at line 123, column 17]
	- Reached through: @liferay_map["map-display"] name="Map...  [in template "10157#10197#536288" at line 121, column 1]
----
1<#assign 
2	defaultLatitude = -3.6833 
3	defaultLongitude = 40.40 
4 
5	group = themeDisplay.getScopeGroup() 
6 
7	mapsAPIProvider = group.getLiveParentTypeSettingsProperty("mapsAPIProvider")!"" 
8 
9	companyPortletPreferences = prefsPropsUtil.getPreferences(companyId) 
10/> 
11 
12<#if validator.isNull(mapsAPIProvider)> 
13	<#assign mapsAPIProvider = companyPortletPreferences.getValue("mapsAPIProvider", "Google") /> 
14</#if> 
15 
16<#assign featureCollectionJSONObject = jsonFactoryUtil.createJSONObject() /> 
17 
18<@liferay.silently featureCollectionJSONObject.put("type", "FeatureCollection") /> 
19 
20<#assign featureJSONArray = jsonFactoryUtil.createJSONArray() /> 
21 
22<#list entries as entry> 
23	<#assign 
24		assetRenderer = entry.getAssetRenderer() 
25 
26		ddmFormValuesReader = assetRenderer.getDDMFormValuesReader() 
27 
28		ddmFormFieldValues = ddmFormValuesReader.getDDMFormFieldValues("ddm-geolocation") 
29 
30		coordinatesJSONObjects = [] 
31	/> 
32 
33	<#list ddmFormFieldValues as ddmFormFieldValue> 
34		<#assign 
35			value = ddmFormFieldValue.getValue() 
36 
37			coordinatesJSONObject = jsonFactoryUtil.createJSONObject(value.getString(locale)) 
38 
39			coordinatesJSONObjects = coordinatesJSONObjects + [coordinatesJSONObject] 
40		/> 
41	</#list> 
42 
43	<#list coordinatesJSONObjects as coordinatesJSONObject> 
44		<#assign featureJSONObject = jsonFactoryUtil.createJSONObject() /> 
45 
46		<@liferay.silently featureJSONObject.put("type", "Feature") /> 
47 
48		<#assign geometryJSONObject = jsonFactoryUtil.createJSONObject() /> 
49 
50		<@liferay.silently geometryJSONObject.put("type", "Point") /> 
51 
52		<#assign coordinatesJSONArray = [coordinatesJSONObject.getDouble("longitude"), coordinatesJSONObject.getDouble("latitude")] /> 
53 
54		<@liferay.silently geometryJSONObject.put("coordinates", coordinatesJSONArray) /> 
55 
56		<@liferay.silently featureJSONObject.put("geometry", geometryJSONObject) /> 
57 
58		<#assign propertiesJSONObject = jsonFactoryUtil.createJSONObject() /> 
59 
60		<@liferay.silently propertiesJSONObject.put("title", assetRenderer.getTitle(locale)) /> 
61 
62		<#assign entryAbstract> 
63			<@getAbstract asset=entry /> 
64		</#assign> 
65 
66		<@liferay.silently propertiesJSONObject.put("abstract", entryAbstract) /> 
67 
68		<#if stringUtil.equals(mapsAPIProvider, "Google")> 
69			<#assign 
70				images = { 
71					"com.liferay.document.library.kernel.model.DLFileEntry": "${themeDisplay.getProtocol()}://maps.google.com/mapfiles/ms/icons/green-dot.png", 
72					"com.liferay.portlet.dynamicdatalists.model.DDLRecord": "${themeDisplay.getProtocol()}://maps.google.com/mapfiles/ms/icons/red-dot.png", 
73					"com.liferay.journal.model.JournalArticle": "${themeDisplay.getProtocol()}://maps.google.com/mapfiles/ms/icons/blue-dot.png", 
74					"default": "${themeDisplay.getProtocol()}://maps.google.com/mapfiles/ms/icons/yellow-dot.png" 
75
76			/> 
77 
78			<#if images?keys?seq_contains(entry.getClassName())> 
79				<@liferay.silently propertiesJSONObject.put("icon", images[entry.getClassName()]) /> 
80			<#else> 
81				<@liferay.silently propertiesJSONObject.put("icon", images["default"]) /> 
82			</#if> 
83		</#if> 
84 
85		<@liferay.silently featureJSONObject.put("properties", propertiesJSONObject) /> 
86 
87		<@liferay.silently featureJSONArray.put(featureJSONObject) /> 
88	</#list> 
89</#list> 
90 
91<@liferay.silently featureCollectionJSONObject.put("features", featureJSONArray) /> 
92 
93<style type="text/css"> 
94	.asset-entry-abstract { 
95		min-width: 400px; 
96
97 
98	.leaflet-popup .asset-entry-abstract { 
99		display: inline-block; 
100
101 
102	.asset-entry-abstract .asset-entry-abstract-image { 
103		display: block; 
104		float: left; 
105		height: 128px; 
106		margin-right: 1em; 
107		text-align: center; 
108
109 
110	.asset-entry-abstract .asset-entry-abstract-image img { 
111		display: block; 
112		margin: 0 auto; 
113		max-height: 100%; 
114
115 
116	.asset-entry-abstract .taglib-icon { 
117		float: right; 
118
119</style> 
120 
121<@liferay_map["map-display"] 
122	name='Map' 
123	points="${featureCollectionJSONObject}" 
124/> 
125 
126<@liferay_aui.script use="liferay-map-base"> 
127	var map = Liferay.component('<@portlet.namespace />Map'); 
128 
129	map.on( 
130		'featureClick', 
131		function(event) { 
132			var feature = event.feature; 
133 
134			map.openDialog( 
135
136					content: feature.getProperty('abstract'), 
137					marker: feature.getMarker(), 
138					position: feature.getGeometry().get('location') 
139
140			); 
141
142	); 
143</@liferay_aui.script> 
144 
145<#macro getAbstract asset> 
146	<div class="asset-entry-abstract" id="<@portlet.namespace />assetEntryAbstract"> 
147		<#assign 
148			showEditURL = paramUtil.getBoolean(renderRequest, "showEditURL", true) 
149 
150			assetRenderer = asset.getAssetRenderer() 
151		/> 
152 
153		<#if showEditURL && assetRenderer.hasEditPermission(permissionChecker)> 
154			<#assign redirectURL = renderResponse.createLiferayPortletURL(themeDisplay.getPlid(), themeDisplay.getPortletDisplay().getId(), "RENDER_PHASE", false) /> 
155 
156			${redirectURL.setParameter("mvcPath", "/add_asset_redirect.jsp")} 
157 
158			<#assign 
159				editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("POP_UP"), redirectURL) 
160 
161				taglibEditURL = "javascript:Liferay.Util.openWindow({id: '" + renderResponse.getNamespace() + "editAsset', title: '" + htmlUtil.escapeJS(languageUtil.format(locale, "edit-x", htmlUtil.escape(assetRenderer.getTitle(locale)), false)) + "', uri:'" + htmlUtil.escapeJS(editPortletURL.toString()) + "'});" 
162			/> 
163 
164			<@liferay_ui.icon 
165				image="edit" 
166				label=true 
167				message="edit" 
168				url=taglibEditURL 
169			/> 
170		</#if> 
171 
172		<#if assetRenderer.getThumbnailPath(renderRequest)??> 
173			<div class="asset-entry-abstract-image"> 
174				<img src="${assetRenderer.getThumbnailPath(renderRequest)}" /> 
175			</div> 
176		</#if> 
177 
178		<#assign assetURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, asset, false) /> 
179 
180		<div class="asset-entry-abstract-content"> 
181			<h3><a href="${assetURL}">${assetRenderer.getTitle(locale)}</a></h3> 
182 
183			<div> 
184				${assetRenderer.getSummary(renderRequest, renderResponse)} 
185			</div> 
186		</div> 
187 
188		<div class="asset-entry-abstract-footer"> 
189			<a href="${assetURL}">${languageUtil.get(locale, "read-more")} &raquo;</a> 
190		</div> 
191	</div> 
192</#macro>