Professional Documents
Culture Documents
<div class="ui five column center aligned stackable divided grid segment
contractor-checkbox">
<div class="column">
<div class="ui test toggle checkbox">
<input id = "cb-show-all" type="radio" checked="checked" name="trade_type"
class="trade_type">
<label>Show all</label>
</div>
</div>
<div class="column">
<div class="ui test toggle checkbox">
<input id = "cb-wallcovering" type="radio" name="trade_type"
class="trade_type">
<label>Wallcovering</label>
</div>
</div>
<div class="column">
<div class="ui test toggle checkbox">
<input id = "cb-painting" type="radio" name="trade_type" class="trade_type">
<label>Painting</label>
</div>
</div>
<div class="column">
<div class="ui test toggle checkbox">
<input id = "cb-carp-trades" type="radio" name="trade_type"
class="trade_type">
<label>Carpentry trades</label>
</div>
</div>
<div class="column">
<div class="ui test toggle checkbox">
<input id = "cb-tile" type="radio" name="trade_type" class="trade_type">
<label>Tile</label>
</div>
</div>
</div>
<!--div>
<div id="disable-input-search" class="ui fluid icon input" style="width: 100%;">
<input id="input-search-map" class="controls" type="text" placeholder="Search
by Zip Code or City or State">
<i class="search icon"></i>
</div>
</div-->
<div>
<div class="field">
<div class="fields">
<div class="twelve wide field">
<div id="disable-input-search" class="ui fluid icon input">
<input id="input-search-map" class="controls" type="text"
placeholder="Search by Zip Code or City or State">
<i class="search icon"></i>
</div>
</div>
</br>
<div class="four wide field">
<button id="edit_location" class="ui primary button">
Edit location
</button>
</div>
</div>
</div>
</div>
<br>
<div id="search-resault-count">
</div>
<div class="ui divider"></div>
<div>
<div id="map" style='height: 800px;'></div>
</div>
<script src="//maps.google.com/maps/api/js?
key=AIzaSyAOelPhroDkBL0Av928SeRsyEg8pGdjEsM&libraries=places"></script>
<script
src="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.mi
n.js"></script>
<script src='//cdn.rawgit.com/printercu/google-maps-utility-library-v3-read-
only/master/infobox/src/infobox_packed.js' type='text/javascript'></script> <!--
only if you need custom infoboxes -->
<script type="text/javascript">
$('#example').DataTable();
getDistance(1, 2);
var a = "39.7392";
var b = "104.9903";
var c = "38.5816";
var d = "121.4944";
function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1); // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; // Distance in km
console.log(d);
return d;
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}
$("#disable-input-search").addClass('disabled');
$("#edit_location").on("click", function(){
$("#disable-input-search").removeClass('disabled');
$("#input-search-map").val('');
$("#input-search-map").focus();
zipCode = '';
city = '';
state = '';
stateShortName = '';
});
function initializeMap(){
markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
$("#search-resault-count").html("<h3>There are <b style='color:red;'>" +
markers.length + "</b> contractors on map.</h3>");
}
$('.contractor-checkbox').addClass('loading');
$('.contractor-checkbox').addClass('disabled');
$("#disable-input-search").addClass('disabled');
$("#edit_location").addClass('disabled');
$(function () {
$.ajax({
type:"GET",
url:"/admin/contractors/search_contractors",
dataType:"json",
data: {tradeType: tradeType, zipCode: zipCode, city: city, state:
state, stateShortName: stateShortName, lat: lat, lng: lng},
success:function(result){
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
handler.removeMarkers(markers);
}
markers = [];
markers = handler.addMarkers(result);
handler.bounds.extendWith(markers);
if (markers.length == 1) {
handler.map.centerOn([result[0].lat, result[0].lng]);
handler.getMap().setZoom(12);
}
else {
if (lat != 0) {
handler.map.centerOn([lat, lng]);
handler.getMap().setZoom(6);
} else {
handler.map.centerOn([37.0902, -95.7129]);
handler.getMap().setZoom(4);
handler.fitMapToBounds();
}
}
$('.contractor-checkbox').removeClass('loading');
$('.contractor-checkbox').removeClass('disabled');
$("#edit_location").removeClass('disabled');
if (markers.length == 0) {
$("#search-resault-count").text('No contractors.');
$("#search-resault-count").css('color', 'red');
} else {
$("#search-resault-count").html("<h3>There are <b
style='color:red;'>" + markers.length + "</b> contractors on map.</h3>");
$("#search-resault-count").css('color', 'black');
}
}
})
});
}
//switch click
$(".trade_type").bind('click', function() {
tradeType = $(this).attr('id');
updateMapAfterSearch(tradeType, zipCode, city, state, stateShortName,
lat, lng);
});
function initAutocomplete() {
// Create the search box and link it to the UI element.
var input = document.getElementById('input-search-map');
var options = {
types: ['geocode'], // (regions)
componentRestrictions: {country: "us"}
};
zipCode = '';
city = '';
state = '';
stateShortName = '';
lat = '';
lng = '';
if (addrs != null) {
for(var i = 0; i < addrs.length; i++) {
if(addrs[i].types.indexOf('postal_code') > -1) {
zipCode = addrs[i].long_name;
}
else if(addrs[i].types.indexOf('locality') > -1) {
city = addrs[i].long_name;
}
else if(addrs[i].types.indexOf('administrative_area_level_1') > -1)
{
state = addrs[i].long_name;
stateShortName = addrs[i].short_name;
}
}
}
if (zipCode != '' || city != '' || state != '') {
lat = place.geometry.location.lat();
lng = place.geometry.location.lng();
}