CENTRO DE PARQUEOS FREEKINDOM $7.500,00 Quito, Norte
  • Área lote: 12,00 MTS.
Iñaquito
DOS HEMISFERIOS $2.500,00 Quito, Norte
  • Área lote: 12,50 MTS.
Pusuquí
GUAYLLABAMBA $1.100.000,00 Guayllabamba
  • Área lote: 55.000 MTS.
  • Predio: 5559391
Chaquibamba
PUSUQUI $3.000.000,00 Quito, Norte
  • Área lote: 85.000,00
  • Predio: 520439
Valle de Pomasqui
LOTE TAMAYO $1.300.000,00 Quito, Centro Norte
  • Área lote: 958,85 mts.
  • Predio: 81902
La Floresta
KIONA $5.600.000,00 QUITO, Tumbaco
  • Área lote: 70.210,00 mts.
Churoloma
ARSHAK II $280.000 QUITO, Sector Norte
  • Dormitorios: 3
  • Baños: 2 1/2
Quito Tennis
CASA EN BOSQUES DE INCHALILLO $155.000 QUITO, Sector Los Chillos
  • Dormitorios: 3
  • Baños: 2 1/2
Los Chillos
Principal Dacar
SELVA ALEGRE $76.000 QUITO, Sector Centro Norte
  • Dormitorio: 1
  • Baños: 1 1/2
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#640365" at line 123, column 19]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${featureCollectionJSONObject}  [in template "10157#10197#640365" at line 123, column 17]
	- Reached through: @liferay_map["map-display"] name="Map...  [in template "10157#10197#640365" 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>  
192192</#macro>