var USE_GOOGLE_SEARCH = true; $('#btnSearch').on('click', function(event){ submitform(); }); $('#btnSelectLatLon').on('click', function(event){ if(document.forms['output'].inputLat.value == ''){ if(confirm('No location selected. OK to close?')){ try { // Setting global variable of parent window parent.glbHashObject['flgHasClickButtonSelect'] = false; } catch (e) {} parent.jQuery.fancybox.close(); }else{ return false; } }else{ try { // Setting global variable of parent window parent.glbHashObject['flgHasClickButtonSelect'] = true; } catch (e) {} parent.jQuery.fancybox.close(); } }); $('#btnClose').on('click', function(event){ try { // Setting global variable of parent window parent.glbHashObject['flgHasClickButtonSelect'] = false; } catch (e) {} parent.jQuery.fancybox.close(); }); function submitform() { var queryString = document.forms[0].query.value; $.ajax({ url: '/formview/OpenLSLUS_Geocode', contentType: 'application/json; charset=UTF-8', dataType: 'json', type: 'POST', data: JSON.stringify({ FreeFormAdress: encodeURIComponent(queryString) }), cache: false, success: function(response, status) { if (response.responseJSON != undefined) { var geometry = undefined; if(USE_GOOGLE_SEARCH){ if(response.responseJSON.results == undefined || response.responseJSON.results[0] == undefined || response.responseJSON.results[0].geometry == undefined || response.responseJSON.results[0].geometry.location == undefined){ alert("Sorry, no address found"); return; } geometry = response.responseJSON.results[0].geometry.location; }else{ if(response.responseJSON.results == undefined || response.responseJSON.results[0] == undefined || response.responseJSON.results[0].locations == undefined || response.responseJSON.results[0].locations[0] == undefined){ alert("Sorry, no address found"); return; } var location = response.responseJSON.results[0].locations[0]; geometry = location.latLng; } if(geometry == undefined){ alert("Sorry, no address found"); return; } // draw marker $('#inputLat').val(geometry.lat); $('#inputLon').val(geometry.lng); var foundPosition = new OpenLayers.LonLat(geometry.lng, geometry.lat).transform( fromProjection, map.getProjectionObject() ); markers.removeMarker(marker); marker = new OpenLayers.Marker(foundPosition); markers.addMarker(marker); map.setCenter(foundPosition, zoom); }else{ alert("An error occurred while communicating with the OpenLS service. Please try again."); } }, error: function(request, status, error) { alert("An error occurred while communicating with the OpenLS service. Please try again."); } }); }