Se ha producido un error al procesar la plantilla.
No compatible overloaded variation was found; can't convert (unwrap) the 2nd argument to the desired Java type.
The FTL type of the argument values were: number (wrapper: f.t.SimpleNumber), string (wrapper: f.t.SimpleScalar).
The matching overload was searched among these members:
com.sun.proxy.$Proxy1449.getStructureArticles(long),
com.sun.proxy.$Proxy1449.getStructureArticles(long, long, int, int, com.liferay.portal.kernel.util.OrderByComparator),
com.sun.proxy.$Proxy1449.getStructureArticles(long, long)
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign articulos = journalArticleLoc... [in template "20155#20195#3903774" at line 545, column 1]
----
1<script src="https://maps.google.com/maps/api/js?v=3&libraries=geometry,places&key=AIzaSyADxO5pq3U3jcHoM1SMQ9FFvIPlENolN5k"></script>
2<script type="text/javascript">
3 // Variable que guarda los datos de los centros
4 var centros = [];
5
6 // Variable que guarda el html de los resultados encontrados
7 var side_bar_html = "";
8
9 // Array para guardar todos los marcadores
10 var gmarkers = [];
11 var gmarkersshow = [];
12
13 // Variables globales
14 var map;
15 var circle = null;
16 var geocoder;
17 var busquedaRealizada = false;
18 var marker_you;
19 var userMarker;
20 var directionsService;
21 var directionsDisplay;
22 var infowindow;
23 var defaultCoordinates = {lat: 40.4168508 ,lng:-3.7031067};
24
25 // Variable global para saber si se tiene o no geolocalizacion
26 var geoActive = true;
27
28 //Variable para guardar objeto scrollbar
29 var scrollbar;
30
31 //Genera arrays de centros
32 function addCentros (contador,nombre,direccion,latitud,longitud,enlace,telefono,redesSocialesValores, redesSocialesNombres){
33 var entryLocation = [nombre,direccion,latitud,longitud,enlace,telefono,redesSocialesValores, redesSocialesNombres];
34 centros[contador] = entryLocation;
35 }
36
37 //Funcion que muestra error por consola si no se puede utilizar la geolocalizacion del usuario
38 function showError() {
39 console.log("Location can't be found");
40 geoActive = false;
41
42 if(directionsService == null || directionsService == "undefined"){
43 directionsService = new google.maps.DirectionsService();
44 }
45 if(directionsDisplay == null || directionsDisplay == "undefined"){
46 directionsDisplay = new google.maps.DirectionsRenderer();
47 }
48 if(infowindow == null || infowindow == "undefined"){
49 infowindow = new google.maps.InfoWindow({
50 size: new google.maps.Size(150,50)
51 });
52 }
53 map = new google.maps.Map(document.getElementById("map_canvas"), {
54 zoom: 8,
55 center: {lat: 40.4169473, lng: -3.7079059}
56 });
57
58 // Crea evento para sacar infoWindows
59 google.maps.event.addListener(map, 'click', function() {
60 infowindow.close();
61 });
62
63 // Funcion autocompletar para el campo de texto
64 var autocomplete = new google.maps.places.Autocomplete(document.getElementById('address'));
65 autocomplete.bindTo('bounds', map);
66
67 // Se cargan las oficinas
68 loadCentros();
69
70 searchRadius(defaultCoordinates);
71
72 // Se hace focus en el campo de texto de la direccion una vez que todo este cargado
73 $(".js_input_dir").select();
74 }
75
76 // Funcion para crear marcadores
77 function createMarker(latlng, name, html_infow, html_res, indice) {
78 // Contenido del infoWindow
79 var contentString = html_infow;
80
81 // Marcador
82 var marker = new google.maps.Marker({
83 icon: '/o/tCuida-theme/images/content/pin-centro.png',
84 position: latlng,
85 title: name,
86 // zIndex: Math.round(latlng.lat()*-100000)<<5,
87 zIndex: Math.round(latlng.lat*-100000)<<5,
88 info: html_res,
89 ind: indice
90 });
91
92 // Evento para lanzar la infoWdindows al hacer click sobre el marcador
93 google.maps.event.addListener(marker, 'click', function() {
94 infowindow.setContent(contentString);
95 infowindow.open(map,marker);
96 });
97
98 // Guarda el marcador en el array global
99 gmarkers.push(marker);
100 }
101
102 // Funcion initLoad
103 function initLoad(){
104 console.log("Entramos en la funcion del callback");
105 // INICIALIZACION
106 geocoder = new google.maps.Geocoder();
107 if (navigator.geolocation) {
108 var options = {
109 enableHighAccuracy: true,
110 maximumAge: 0
111 }
112 navigator.geolocation.getCurrentPosition(initializeMaps, showError, options);
113 }
114 else {
115 console.log("El navegador no soporta geolocalización");
116 }
117 // FIN INICIALIZACION
118 }
119
120 // Funcion ejecutada al CARGAR LA PÁGINA
121 function initializeMaps(userPosition) {
122 // Define las opciones del mapa
123 userMarker = userPosition;
124 var myOptions = {
125 zoom: 8,
126 center: new google.maps.LatLng(userPosition.coords.latitude, userPosition.coords.longitude),
127 mapTypeControl: true,
128 mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
129 navigationControl: true,
130 mapTypeId: google.maps.MapTypeId.ROADMAP
131 };
132
133 // Define el mapa
134 map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
135
136 // Crea evento para sacar infoWindows
137 google.maps.event.addListener(map, 'click', function() {
138 infowindow.close();
139 });
140
141 if(directionsService == null || directionsService == "undefined"){
142 directionsService = new google.maps.DirectionsService();
143 }
144 if(directionsDisplay == null || directionsDisplay == "undefined"){
145 directionsDisplay = new google.maps.DirectionsRenderer();
146 }
147 if(infowindow == null || infowindow == "undefined"){
148 infowindow = new google.maps.InfoWindow({
149 size: new google.maps.Size(150,50)
150 });
151 }
152
153 // Funcion autocompletar para el campo de texto
154 var autocomplete = new google.maps.places.Autocomplete(document.getElementById('address'));
155 autocomplete.bindTo('bounds', map);
156
157 //se crea el marcador de posición del usuario
158 //marcador = new google.maps.Marker({
159 // position: new google.maps.LatLng(userPosition.coords.latitude, userPosition.coords.longitude),
160 // icon: 'http://opendatacon.org/wp-content/uploads/2016/05/Farm-Fresh_star.png',
161 // title: "Usted está aquí",
162 // map: map
163 //});
164
165 // Se cargan las oficinas
166 loadCentros();
167
168 searchRadius();
169
170 // Se hace focus en el campo de texto de la direccion una vez que todo este cargado
171 $(".js_input_dir").select();
172 }
173
174 function searchRadius(coordinates){
175
176 //se saca la dirección del usuario según sus coordenadas (si no se encuentra se fija la puerta de sol como punto de partida)
177 var userPosic = 'Plaza Puerta del Sol, 28013 Madrid';
178 var latlng;
179
180 if(coordinates != null){
181 latlng = coordinates;
182 }else{
183 var input = (userMarker.coords.latitude+","+userMarker.coords.longitude);
184 var latlngStr = input.split(',', 2);
185 latlng = {lat: parseFloat(latlngStr[0]), lng: parseFloat(latlngStr[1])};
186 }
187
188 geocoder.geocode({'location': latlng}, function(results, status) {
189 if (status === google.maps.GeocoderStatus.OK) {
190 console.log(results[0].formatted_address);
191 if (results[0]) {
192 userPosic = results[0].formatted_address;
193 } else {
194 window.alert('No results found');
195 }
196 } else {
197 window.alert('Geocoder failed due to: ' + status);
198 }
199
200 //se buscan los centros que estén a menos de 6km del usuario
201 var searchAddress = userPosic;
202 var radVal = 6;
203 var radius = 6000;
204 $(".rad_err_msg").hide();
205 if(searchAddress != null && searchAddress != ""){
206 // Ejecutamos con timeOut de 200ms para evitar el queryLimit de google
207 setTimeout(function(){
208 $(".div_lista").fadeIn();
209 exe_code_address(searchAddress, radius);
210 }, 200);
211 }
212 });
213
214 }
215 //funcion para generar el HTML de las redes sociales
216 function getRedesSociales(rSocialesNombre, rSocialesValor){
217 var html = "";
218 var redesSocialesNombre = rSocialesNombre.split(";");
219 var redesSocialesValor = rSocialesValor.split(";");
220 for(var i = 0;i<redesSocialesNombre.length-1;i++){
221 var nombreRedSocial = redesSocialesNombre[i];
222 var valorRedSocial = redesSocialesValor[i];
223 if(nombreRedSocial == "WhatsApp"){
224 html += "<p><i class='icon-phone-sign' title='"+nombreRedSocial+"'></i> "+valorRedSocial+"</p>";
225 }else if(nombreRedSocial == "Twitter"){
226 html += "<p><i class='icon-twitter' title='"+nombreRedSocial+"'></i> "+valorRedSocial+"</p>";
227 }else if(nombreRedSocial == "Facebook"){
228 html += "<p><i class='icon-facebook' title='"+nombreRedSocial+"'></i> "+valorRedSocial+"</p>";
229 }else if(nombreRedSocial == "Instagram"){
230 html += "<p><i class='icon-instagram' title='"+nombreRedSocial+"'></i> "+valorRedSocial+"</p>";
231 }else if(nombreRedSocial == "Correo"){
232 html += "<p><i class='icon-envelope' title='"+nombreRedSocial+"'></i> "+valorRedSocial+"</p>";
233 }else{
234 html += "<p><i class='icon-user' title='"+nombreRedSocial+"'></i> "+valorRedSocial+"</p>";
235 }
236 }
237 return html;
238 }
239 // Funcion para procesar los centros
240 function loadCentros(){
241 // Para cada centro se genera un marcador y una infoWindow
242 for(var i = 0; i < centros.length; i++){
243 var centroName = centros[i][0];
244 var centroAddress = centros[i][1];
245 var centroLatitud = centros[i][2];
246 var centroLongitud = centros[i][3];
247 var enlaceAWeb = centros[i][4];
248 var centroTlf = centros[i][5];
249
250
251
252
253
254 var redesSocialesString = "";
255 if(centros[i][6] != undefined && centros[i][7] != undefined && centros[i][6] != "" && centros[i][7] != ""){
256 redesSocialesString = getRedesSociales(centros[i][6],centros[i][7]);
257 }
258 var latlng = {lat: parseFloat(centroLatitud), lng: parseFloat(centroLongitud)};
259
260 var urlCentro = "";
261 if("" != enlaceAWeb && null != enlaceAWeb){
262 urlCentro = '<div class="center_url">'+
263 '<a class="btn btn-primary" href="'+ enlaceAWeb +'" target="_blank"> Sitio web </a>'+
264 '</div>';
265 }
266
267 var html_inf =
268 '<div id="content_gmap">'+
269 '<div class="center_data_wrapper" onclick="javascript:myclick({index})">'+
270 '<div class="evo-form__text-info office_data">'+
271 '<p class="center_title">'+centroName+'</p>'+
272 '<p class="center_address">'+centroAddress+'</p>'+
273 redesSocialesString+
274 '<p class="center_tlf">'+centroTlf+'</p>'+
275 '</div>'+
276 '</div>'+
277 '<div class="howToGo">'+
278 '<a class="btn btn-primary" href="javascript:void(0);" onclick="arriveTo(\'' + centroAddress + '\');"> Cómo llegar </a>'+
279 '</div>'+
280 urlCentro +
281 '</div>';
282
283 var html_res =
284 '<div id="content_gmap">'+
285 '<div class="center_data_wrapper" onclick="javascript:myclick({index})">'+
286 '<div class="center_data">'+
287 '<p class="center_title">'+centroName+'</p>'+
288 '<p class="center_address">'+centroAddress+'</p>'+
289 redesSocialesString+
290 '<p class="center_tlf">'+centroTlf+'</p>'+
291 '</div>'+
292 '</div>'+
293 '<div class="howToGo">'+
294 '<a class="btn btn-primary" href="javascript:void(0);" onclick="arriveTo(\'' + centroAddress + '\');"> Cómo llegar </a>'+
295 '</div>'+
296 urlCentro +
297 '</div>';
298 //Se crea el marcador en las coordenadas de los centros
299 var marker = createMarker(latlng, centroName, html_inf, html_res, i);
300 }
301 }
302
303
304 var marcador;
305 // Funcion para atender la direccion introducida en el formulario
306 function codeAddress() {
307 //se crea el marcador de posición del usuario con datos por defecto
308 var latitude = defaultCoordinates.lat;
309 var longitude = defaultCoordinates.lng;
310
311 if(userMarker != undefined){
312 latitude = userMarker.coords.latitude;
313 longitude = userMarker.coords.longitude;
314 }
315
316 marcador = new google.maps.Marker({
317 position: new google.maps.LatLng(latitude, longitude),
318 icon: "/o/tCuida-theme/images/content/pin-position.png",
319 title: "Usted está aquí",
320 map: map
321 });
322
323 //Se resetea el "como llegar",las indicaciones y se cierran la infowindow que hubiese abierta
324 if(directionsDisplay != null){
325 directionsDisplay.setMap(null);
326 }
327 $("#map_indications").html("");
328
329 if(infowindow)infowindow.close();
330 var searchAddress = $("#address").val();
331 var radVal = $("#radius").val();
332 var radius = parseInt($("#radius").val(), 10)*1000;
333
334 if(radVal > 0 && radVal <= 500){
335 $(".rad_err_msg").hide();
336 if(searchAddress != null && searchAddress != ""){
337 // Ejecutamos con timeOut de 200ms para evitar el queryLimit de google
338 setTimeout(function(){
339 $(".div_lista").fadeIn();
340 exe_code_address(searchAddress, radius);
341 }, 200);
342 }
343 }else{
344 $(".rad_err_msg").show();
345 }
346 }
347
348 function exe_code_address(searchAddress, radius){
349 // Flag de busqueda realizada para evento del input de radio
350 busquedaRealizada = true;
351
352 // El marcador de la posicion buscada se reinicia en cada busqueda
353 if(marker_you != null){
354 marker_you.setMap(null);
355 }
356
357 // Se situa un marcador en el mapa con los datos recogidos
358 geocoder.geocode({ 'address': searchAddress}, function(results, status) {
359 if (status == google.maps.GeocoderStatus.OK) {
360 map.setCenter(results[0].geometry.location);
361 var searchCenter = results[0].geometry.location;
362
363 var searchAddressComponents = results[0].address_components;
364 var searchPostalCode = "";
365 var searchCity = "";
366
367 $.each(searchAddressComponents, function(){
368 if(this.types[0]=="postal_code"){
369 searchPostalCode=this.short_name;
370 } else if (this.types[0]=="locality"){
371 searchCity = this.short_name;
372 }
373 });
374
375 // Codigo para enviar a analytics . si hay psotal code se enva CP, si no city
376 var titleBusqueda=searchPostalCode;
377 if (titleBusqueda == ""){
378 titleBusqueda=searchCity;
379 }
380 //ga('send', 'event', 'tCuida', 'busqueda_farmacias', titleBusqueda,{ 'dimension1': 'tCuida' });
381
382 //......
383 marker_you = new google.maps.Marker({
384 map: map,
385 position: results[0].geometry.location,
386 icon: "/o/tCuida-theme/images/content/pin-position.png",
387 });
388
389 // Se crea un circulo con el radio provisto en el formulario
390 if (circle) circle.setMap(null);
391 circle = new google.maps.Circle({
392 center:searchCenter,
393 radius: radius,
394 fillColor: "#999",
395 strokeWeight: 1,
396 fillOpacity: 0.2,
397 map: map
398 });
399
400 // Se reinicia la lista de resultados
401 side_bar_html = "";
402 gmarkersshow = [];
403
404 var bounds = new google.maps.LatLngBounds();
405 var foundMarkers = 0;
406
407 //Añadimos el marker del sitio buscado al bounds
408 bounds.extend(marker_you.getPosition());
409
410 // Se pintan en la lista todos los resultados
411 for(var i = 0; i < gmarkers.length; i++){
412 if (google.maps.geometry.spherical.computeDistanceBetween(gmarkers[i].getPosition(),searchCenter) < radius) {
413 bounds.extend(gmarkers[i].getPosition()); //Se anade la posicion de todos los markers para expandir la vista y que salgan todos en el mapa
414 gmarkers[i].setMap(map);
415 var distanceToCenter = google.maps.geometry.spherical.computeDistanceBetween(gmarkers[i].getPosition(),searchCenter);
416 gmarkersshow.push({marker: gmarkers[i], dist: distanceToCenter});
417 foundMarkers++;
418 }else{
419 gmarkers[i].setMap(null);
420 }
421 }
422
423 // Se ordena el array de maracadores visibles por distancia
424 gmarkersshow = gmarkersshow.sort(function(a,b){return a.dist - b.dist;});
425
426 // Se pintan en la lista todos los resultados ordenados por distancia
427 var distance;
428 side_bar_html +='<div class="info_container">';
429 for(var i = 0; i < gmarkersshow.length; i++){
430 distance = round((gmarkersshow[i].dist / 1000), 2);
431 side_bar_html += '<div class="info_fcia_side_bar div_side_bar_' + i + '">';
432 side_bar_html += '<div class="info_fcia_distance"><span class="text-base">' + distance + ' km.</span></div>';
433 side_bar_html += (gmarkersshow[i].marker.info).replace("{index}", i);
434 side_bar_html += '</div>';
435 }
436 side_bar_html +='</div>';
437 // Si hay resultados que cumplan el criterio del radio, se anaden a la lista
438 if(foundMarkers > 0){
439 if(foundMarkers == 1){
440 side_bar_html = "<div class=\"titulosidebar\"><p class=\"title_results_gmaps\"><strong>" + foundMarkers + "</strong> resultado encontrado:</p></div>" + side_bar_html;
441 }else{
442 side_bar_html = "<div class=\"titulosidebar\"><p class=\"title_results_gmaps\"><strong>" + foundMarkers + "</strong> resultados encontrados:</p></div>" + side_bar_html;
443 }
444 }else{
445 side_bar_html = "<div class=\"p_aviso_side_bar\"><p class=\"evo-form__text-info js_result_no_found\">No se han encontrado resultados. Por favor, busca en otro lugar o amplía el radio de búsqueda.</p></div>";
446 }
447
448 // Coloca la lista en el sitio que le corresponde
449 document.getElementById("side_bar").innerHTML = side_bar_html;
450 if (foundMarkers > 0) {
451 map.fitBounds(bounds);
452 } else{
453 map.fitBounds(circle.getBounds());
454 }
455 }
456 $(".info_container").mCustomScrollbar({
457 axis:"y"
458 });
459 });
460 }
461
462 // Metodo para redondear a los decimales
463 function round(value, decimals) {
464 return Number(Math.round(value+'e'+decimals)+'e-'+decimals);
465 }
466
467 // Evento para lanzar la infoWindow al clickar sobre el marcador
468 function myclick(i) {
469 google.maps.event.trigger(gmarkersshow[i].marker, "click");
470 }
471
472 //Funcion para utilizar la api de google maps de "cómo llegar"
473 function arriveTo(address) {
474 var request;
475
476 //eliminamos el marcador de la posición del usuario si se muestra
477 if (marcador != null && marcador!=""){
478 marcador.setMap(null);
479 }
480
481 //se saca la dirección del usuario según sus coordenadas (si no se encuentra se fija la puerta de sol como punto de partida)
482 var userPosic = 'Plaza Puerta del Sol, 28013 Madrid';
483 var latlng;
484
485 if(userMarker == null){
486 latlng = defaultCoordinates;
487 }else{
488 var input = (userMarker.coords.latitude+","+userMarker.coords.longitude);
489 var latlngStr = input.split(',', 2);
490 latlng = {lat: parseFloat(latlngStr[0]), lng: parseFloat(latlngStr[1])};
491 }
492
493 geocoder.geocode({'location': latlng}, function(results, status) {
494 if (status === google.maps.GeocoderStatus.OK) {
495 if (results[0]) {
496 userPosic = results[0].formatted_address;
497 } else {
498 window.alert('No results found');
499 }
500 } else {
501 window.alert('Geocoder failed due to: ' + status);
502 }
503
504 if(geoActive){
505 request = {
506 //origin: new google.maps.LatLng(userMarker.coords.latitude, userMarker.coords.longitude),
507 origin: userPosic,
508 destination: address,
509 travelMode: google.maps.TravelMode.DRIVING,
510 unitSystem: google.maps.UnitSystem.METRIC,
511 provideRouteAlternatives: true
512 };
513 }else{
514 request = {
515 origin: userPosic,
516 destination: address,
517 travelMode: google.maps.TravelMode.DRIVING,
518 unitSystem: google.maps.UnitSystem.METRIC,
519 provideRouteAlternatives: true
520 };
521 }
522
523 directionsService.route(request, function(results, status) {
524 if (status == google.maps.DirectionsStatus.OK) {
525 if (circle) circle.setMap(null);
526 if(infowindow)infowindow.close();
527 directionsDisplay.setMap(map);
528 directionsDisplay.setPanel($("#map_indications").get(0));
529 directionsDisplay.setDirections(results);
530 } else {
531 console.log("No existen rutas entre ambos puntos");
532 }
533 });
534 });
535 }
536</script>
537
538
539<#assign getterUtil = staticUtil["com.liferay.portal.kernel.util.GetterUtil"]/>
540<#assign groupId = themeDisplay.getScopeGroupId()/>
541<#assign journalArticleLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/>
542<#assign structureID = 3897788/>
543<#assign dDMStructureLocalServiceUtil = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService")/>
544<#assign s = dDMStructureLocalServiceUtil.getDDMStructure(structureID)/>
545<#assign articulos = journalArticleLocalServiceUtil.getStructureArticles(groupId, s.getStructureKey())/>
546
547<#assign articulos = journalArticleLocalServiceUtil.getStructureArticles(groupId, s.getStructureKey())/>
548<#if articulos?has_content>
549 <#assign contador = 0 />
550 <#list articulos as entry>
551 <#if entry.isInTrash() == false>
552 <#assign docXml = saxReaderUtil.read(entry.getContent()) />
553 <#assign nombre = entry.getTitle(locale) />
554 <#assign direccion = docXml.valueOf("//dynamic-element[@name='Direccion']/dynamic-content/text()") />
555 <#assign latitud = docXml.valueOf("//dynamic-element[@name='Latitud']/dynamic-content/text()") />
556 <#assign longitud = docXml.valueOf("//dynamic-element[@name='Longitud']/dynamic-content/text()") />
557 <#assign enlace = docXml.valueOf("//dynamic-element[@name='SitioWeb']/dynamic-content/text()") />
558 <#assign telefono = docXml.valueOf("//dynamic-element[@name='Telefono']/dynamic-content/text()") />
559 <#assign arrayNombres = ""/>
560 <#assign arrayValores = ""/>
561 <#assign redesSocialesNombres = docXml.selectNodes("//dynamic-element[@name='Nombre_Red_Social']/dynamic-content/text()")/>
562 <#assign redesSocialesValores = docXml.selectNodes("//dynamic-element[@name='Valor_Red_Social']/dynamic-content/text()")/>
563 <#if redesSocialesNombres?has_content>
564 <#list redesSocialesNombres as r>
565 <#assign arrayNombres = arrayNombres + r.getText()+";"/>
566 </#list>
567 </#if>
568 <#if redesSocialesNombres?has_content>
569 <#list redesSocialesValores as s>
570 <#assign arrayValores = arrayValores + s.getText()+";"/>
571 </#list>
572 </#if>
573 <script>
574 /*console.log('${nombre}');*/
575 /*addCentros('${contador}','${nombre}',"${direccion}",'${latitud}','${longitud}','${enlace}','${telefono}','${arrayNombres}','${arrayValores}');*/
576 addCentros('${contador}','${nombre?replace("'", "´")}','${direccion?replace("'", "´")}','${latitud?replace(",", ".")}','${longitud?replace(",", ".")}','${enlace}','${telefono}','${arrayNombres}','${arrayValores}');
577 </script>
578 <#assign contador = contador + 1 />
579 </#if>
580 </#list>
581</#if>
582
583<div class="tc-map">
584 <div class="tc-map-search-ctn">
585 <div class="wrapper-ajust">
586 <form class="form-inline form-map">
587 <h2 class="title">Localiza tu farmacia TCUIDA</h2>
588 <div class="tc-form-control">
589 <label class="tc-map-label" for="address"><span class="text-base">Dirección, CP o Provincia:</span></label>
590 <input class="field form-control error-field" name="address" id="address" type="textbox" placeholder="Dirección, código postal o provincia"></input>
591 </div>
592 <div class="tc-form-control">
593 <label class="tc-map-label" for="radius"><span class="text-base">Radio de búsqueda:</span></label>
594 <input class="field form-control error-field field-small" name="radius" id="radius" type="number" min="1" step="1" value="2" placeholder="Radio de búsqueda"></input>
595 <span class="tc-map-text-desc">Km.</span>
596 <button type="button" class="btn btn-ico btn-primary" onclick="codeAddress();"><i class="icon-search"></i></button>
597 </div>
598 <span class="rad_err_msg">El radio debe estar comprendido entre 1 km y 500 km.</span>
599 </form>
600 </div>
601 </div>
602 <div class="wrapper-ajust">
603 <div class="tc-map-container">
604 <div id="map_canvas" class="tc-map-show"></div>
605 <div class="div_lista">
606 <div id="side_bar" class="side_bar">
607 <div class="p_aviso_side_bar">
608 <p class="evo-form__text-info">Realice una búsqueda para mostrar un listado de resultados.</p>
609 </div>
610 </div>
611 </div>
612 </div>
613 <div id="map_indications" class="tc-map-indications"></div>
614 </div>
615</div>
616<script>
617 $(document).ready(function(){
618 initLoad();
619 //addCentros();
620 // console.log("fin del ready")
621 });
622</script>