Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
home
/
getwphos
/
www
/
ccma
/
wp-content
/
themes
/
curly
/
framework
/
admin
/
assets
/
js
/
File Content:
jquery.geocomplete.min.js
/** * jQuery Geocoding and Places Autocomplete Plugin - V 1.7.0 * * @author Martin Kleppe <kleppe@ubilabs.net>, 2016 * @author Ubilabs http://ubilabs.net, 2016 * @license MIT License <http://www.opensource.org/licenses/mit-license.php> */ (function ($, window, document, undefined) { var defaults = { bounds: true, strictBounds: false, country: null, map: false, details: false, detailsAttribute: "name", detailsScope: null, autoselect: true, location: false, mapOptions: {zoom: 14, scrollwheel: false, mapTypeId: "roadmap"}, markerOptions: {draggable: false}, maxZoom: 16, types: ["geocode"], blur: false, geocodeAfterResult: false, restoreValueAfterBlur: false }; var componentTypes = ("street_address route intersection political " + "country administrative_area_level_1 administrative_area_level_2 " + "administrative_area_level_3 colloquial_area locality sublocality " + "neighborhood premise subpremise postal_code natural_feature airport " + "park point_of_interest post_box street_number floor room " + "lat lng viewport location " + "formatted_address location_type bounds").split(" "); var placesDetails = ("id place_id url website vicinity reference name rating " + "international_phone_number icon formatted_phone_number").split(" "); function GeoComplete(input, options) { this.options = $.extend(true, {}, defaults, options); if (options && options.types) { this.options.types = options.types } this.input = input; this.$input = $(input); this._defaults = defaults; this._name = "geocomplete"; this.init() } $.extend(GeoComplete.prototype, { init: function () { this.initMap(); this.initMarker(); this.initGeocoder(); this.initDetails(); this.initLocation() }, initMap: function () { if (!this.options.map) { return } if (typeof this.options.map.setCenter == "function") { this.map = this.options.map; return } this.map = new google.maps.Map($(this.options.map)[0], this.options.mapOptions); google.maps.event.addListener(this.map, "click", $.proxy(this.mapClicked, this)); google.maps.event.addListener(this.map, "dragend", $.proxy(this.mapDragged, this)); google.maps.event.addListener(this.map, "idle", $.proxy(this.mapIdle, this)); google.maps.event.addListener(this.map, "zoom_changed", $.proxy(this.mapZoomed, this)) }, initMarker: function () { if (!this.map) { return } var options = $.extend(this.options.markerOptions, {map: this.map}); if (options.disabled) { return } this.marker = new google.maps.Marker(options); google.maps.event.addListener(this.marker, "dragend", $.proxy(this.markerDragged, this)) }, initGeocoder: function () { var selected = false; var options = { types: this.options.types, bounds: this.options.bounds === true ? null : this.options.bounds, componentRestrictions: this.options.componentRestrictions, strictBounds: this.options.strictBounds }; if (this.options.country) { options.componentRestrictions = {country: this.options.country} } this.autocomplete = new google.maps.places.Autocomplete(this.input, options); this.geocoder = new google.maps.Geocoder; if (this.map && this.options.bounds === true) { this.autocomplete.bindTo("bounds", this.map) } google.maps.event.addListener(this.autocomplete, "place_changed", $.proxy(this.placeChanged, this)); this.$input.on("keypress." + this._name, function (event) { if (event.keyCode === 13) { return false } }); if (this.options.geocodeAfterResult === true) { this.$input.bind("keypress." + this._name, $.proxy(function () { if (event.keyCode != 9 && this.selected === true) { this.selected = false } }, this)) } this.$input.bind("geocode." + this._name, $.proxy(function () { this.find() }, this)); this.$input.bind("geocode:result." + this._name, $.proxy(function () { this.lastInputVal = this.$input.val() }, this)); if (this.options.blur === true) { this.$input.on("blur." + this._name, $.proxy(function () { if (this.options.geocodeAfterResult === true && this.selected === true) { return } if (this.options.restoreValueAfterBlur === true && this.selected === true) { setTimeout($.proxy(this.restoreLastValue, this), 0) } else { this.find() } }, this)) } }, initDetails: function () { if (!this.options.details) { return } if (this.options.detailsScope) { var $details = $(this.input).parents(this.options.detailsScope).find(this.options.details) } else { var $details = $(this.options.details) } var attribute = this.options.detailsAttribute, details = {}; function setDetail(value) { details[value] = $details.find("[" + attribute + "=" + value + "]") } $.each(componentTypes, function (index, key) { setDetail(key); setDetail(key + "_short") }); $.each(placesDetails, function (index, key) { setDetail(key) }); this.$details = $details; this.details = details }, initLocation: function () { var location = this.options.location, latLng; if (!location) { return } if (typeof location == "string") { this.find(location); return } if (location instanceof Array) { latLng = new google.maps.LatLng(location[0], location[1]) } if (location instanceof google.maps.LatLng) { latLng = location } if (latLng) { if (this.map) { this.map.setCenter(latLng) } if (this.marker) { this.marker.setPosition(latLng) } } }, destroy: function () { if (this.map) { google.maps.event.clearInstanceListeners(this.map); google.maps.event.clearInstanceListeners(this.marker) } this.autocomplete.unbindAll(); google.maps.event.clearInstanceListeners(this.autocomplete); google.maps.event.clearInstanceListeners(this.input); this.$input.removeData(); this.$input.off(this._name); this.$input.unbind("." + this._name) }, find: function (address) { this.geocode({address: address || this.$input.val()}) }, geocode: function (request) { if (!request.address) { return } if (this.options.bounds && !request.bounds) { if (this.options.bounds === true) { request.bounds = this.map && this.map.getBounds() } else { request.bounds = this.options.bounds } } if (this.options.country) { request.region = this.options.country } this.geocoder.geocode(request, $.proxy(this.handleGeocode, this)) }, selectFirstResult: function () { var selected = ""; if ($(".pac-item-selected")[0]) { selected = "-selected" } var $span1 = $(".pac-container:visible .pac-item" + selected + ":first span:nth-child(2)").text(); var $span2 = $(".pac-container:visible .pac-item" + selected + ":first span:nth-child(3)").text(); var firstResult = $span1; if ($span2) { firstResult += " - " + $span2 } this.$input.val(firstResult); return firstResult }, restoreLastValue: function () { if (this.lastInputVal) { this.$input.val(this.lastInputVal) } }, handleGeocode: function (results, status) { if (status === google.maps.GeocoderStatus.OK) { var result = results[0]; this.$input.val(result.formatted_address); this.update(result); if (results.length > 1) { this.trigger("geocode:multiple", results) } } else { this.trigger("geocode:error", status) } }, trigger: function (event, argument) { this.$input.trigger(event, [argument]) }, center: function (geometry) { if (geometry.viewport) { this.map.fitBounds(geometry.viewport); if (this.map.getZoom() > this.options.maxZoom) { this.map.setZoom(this.options.maxZoom) } } else { this.map.setZoom(this.options.maxZoom); this.map.setCenter(geometry.location) } if (this.marker) { this.marker.setPosition(geometry.location); this.marker.setAnimation(this.options.markerOptions.animation) } }, update: function (result) { if (this.map) { this.center(result.geometry) } if (this.$details) { this.fillDetails(result) } this.trigger("geocode:result", result) }, fillDetails: function (result) { var data = {}, geometry = result.geometry, viewport = geometry.viewport, bounds = geometry.bounds; $.each(result.address_components, function (index, object) { var name = object.types[0]; $.each(object.types, function (index, name) { data[name] = object.long_name; data[name + "_short"] = object.short_name }) }); $.each(placesDetails, function (index, key) { data[key] = result[key] }); $.extend(data, { formatted_address: result.formatted_address, location_type: geometry.location_type || "PLACES", viewport: viewport, bounds: bounds, location: geometry.location, lat: geometry.location.lat(), lng: geometry.location.lng() }); $.each(this.details, $.proxy(function (key, $detail) { var value = data[key]; this.setDetail($detail, value) }, this)); this.data = data }, setDetail: function ($element, value) { if (value === undefined) { value = "" } else if (typeof value.toUrlValue == "function") { value = value.toUrlValue() } if ($element.is(":input")) { $element.val(value) } else { $element.text(value) } }, markerDragged: function (event) { this.trigger("geocode:dragged", event.latLng) }, mapClicked: function (event) { this.trigger("geocode:click", event.latLng) }, mapDragged: function (event) { this.trigger("geocode:mapdragged", this.map.getCenter()) }, mapIdle: function (event) { this.trigger("geocode:idle", this.map.getCenter()) }, mapZoomed: function (event) { this.trigger("geocode:zoom", this.map.getZoom()) }, resetMarker: function () { this.marker.setPosition(this.data.location); this.setDetail(this.details.lat, this.data.location.lat()); this.setDetail(this.details.lng, this.data.location.lng()) }, placeChanged: function () { var place = this.autocomplete.getPlace(); this.selected = true; if (!place.geometry) { if (this.options.autoselect) { var autoSelection = this.selectFirstResult(); this.find(autoSelection) } } else { this.update(place) } } }); $.fn.geocomplete = function (options) { var attribute = "plugin_geocomplete"; if (typeof options == "string") { var instance = $(this).data(attribute) || $(this).geocomplete().data(attribute), prop = instance[options]; if (typeof prop == "function") { prop.apply(instance, Array.prototype.slice.call(arguments, 1)); return $(this) } else { if (arguments.length == 2) { prop = arguments[1] } return prop } } else { return this.each(function () { var instance = $.data(this, attribute); if (!instance) { instance = new GeoComplete(this, options); $.data(this, attribute, instance) } }) } } })(jQuery, window, document);
Submit
FILE
FOLDER
Name
Size
Permission
Action
mkdf-ui
---
0755
jquery.geocomplete.min.js
14101 bytes
0644
jquery.nouislider.min.js
32075 bytes
0644
N4ST4R_ID | Naxtarrr