Sha256: d6c0fdff8ffaa09fe4daee670ab1a9bb7ebd8593774c89e3be91e0fcf7b5a831

Contents?: true

Size: 1.66 KB

Versions: 14

Compression:

Stored size: 1.66 KB

Contents

var Setlatlng = new Class({
	Implements: [Options, Events],
	
	options: {
		
	},
	
	initialize: function(elem){
		var latElem = elem;
		var lngElem = elem.getNext('.map_data_lng');
		var	setValues = function(lat, lng){
			latElem.value = lat;
			lngElem.value = lng;
		};
		
		var center = new google.maps.LatLng(
			latElem.value ? latElem.value : latElem.get('data-default-lat'),
			lngElem.value ? lngElem.value : latElem.get('data-default-lng')
		);
		
		var map = new google.maps.Map(new Element('div.map_canvas').inject(latElem, 'before'), {
			zoom: 14,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			center: center,
			mapTypeControl: true,
			zoomControl: true,
			zoomControlOptions: {
				style: google.maps.ZoomControlStyle.SMALL
			},
			streetViewControl: false,
			panControl: false,
			scaleControl: false,
			overviewMapControl: false
		});
		
		var marker = new google.maps.Marker({
			title: 'Location',
			draggable: true
		});
		
		if (latElem.value && lngElem.value) {
			marker.position = new google.maps.LatLng(latElem.value, lngElem.value);
			marker.setMap(map);
		}
		else {
			if (navigator) {
				navigator.geolocation.getCurrentPosition(function(e){
					map.setCenter(new google.maps.LatLng(e.coords.latitude, e.coords.longitude));
				});
			}
			google.maps.event.addListener(map, 'click', function(e){
				marker.position = e.latLng;
				marker.setMap(map);
				setValues(marker.getPosition().lat(), marker.getPosition().lng());
				google.maps.event.clearListeners(map, 'click');
			});
		}
		
		google.maps.event.addListener(marker, 'dragend', function(){
			var mPos = marker.getPosition();
			map.panTo(mPos);
			setValues(mPos.lat(), mPos.lng());
		});
	}
});

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
bhf-0.4.25 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.24 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.23 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.22 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.21 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.20 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.19 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.18 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.17 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.16 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.15 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.14 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.13 vendor/assets/javascripts/bhf/classes/Setlatlng.js
bhf-0.4.12 vendor/assets/javascripts/bhf/classes/Setlatlng.js