Данная демонстрация контактной формы размещена поверх Google карты, которая является фоном для сайта. Тут не используется скриншот с карт Google и с картой можно работать в интерактивном режиме – можно увеличивать и уменьшать масштаб, перетаскивать ее и даже переключаться между режимами "Карта" и "Спутник".

 

Фоновая google карта

 

Вся html-структура представлена двумя слоями – картой и формой. Для обоих слоев используется css свойство z-index, причем форма имеет более высокий z-index, чем карта и таким образом карта располагается в фоне.

 

HTML-код

<div id="googlemaps"></div>
<div id="contactform">
	<!-- Тут размещается код формы или что-то другое -->
</div>

Тут располагаются 2 элемента div. Слою с картой присвоен идентификатор #googlemaps, а форме – #contactform  – все, что будет располагаться внутри #contactform, будет отображено в самой форме. Также можно вставить код Google-форм.

 

CSS-код

#googlemaps {
	height: 100%;
	width: 100%;
	position:absolute;
	top: 0;
	left: 0;
	z-index: 0; /* Set z-index to 0 as it will be on a layer below the contact form */
}
 
#contactform {
	position: relative;
	z-index: 1; /* z-index должен быть больше, чем у Google Maps */
	width: 300px;
	margin: 60px auto 0;
	padding: 10px;
	background: black;
	height: auto;
	opacity: .45; /* Устанавливаем прозрачность у Google Form */
	color: white;
}

Блок #googlemaps занимает всю ширину и высоту, а у блока #contactform фиксированая ширина. Также можно изменить уровень прозрачности с помощью css-свойства opacity для элемента #contactform тем самым немного изменить прозрачность формы.

 

Javascript

<!-- Подключаем Google Maps API library  -->
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
 
<script type="text/javascript">
	 
	// Latitude and longitude вашего места
	var position = [48.48679432791985, 35.0393165449218];
	 
	function showGoogleMaps() {
	 
	var latLng = new google.maps.LatLng(position[0], position[1]);
	 
	var mapOptions = {
		zoom: 16, // initialize zoom level - the max value is 21
		streetViewControl: false, // hide the yellow Street View pegman
		scaleControl: true, // allow users to zoom the Google Map
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		center: latLng
	};
	 
	map = new google.maps.Map(document.getElementById('googlemaps'),
	mapOptions);
	 
	// Show the default red marker at the location
	marker = new google.maps.Marker({
	position: latLng,
	map: map,
	draggable: false,
	animation: google.maps.Animation.DROP
	});
	}
 
	google.maps.event.addDomListener(window, 'load', showGoogleMaps);
</script>

 

С помощью этого сервиса необходимо найти ширину Latitude и долготу Longitude и заменить координаты в строке 7 (там, где var position = [48.48679432791985, 35.0393165449218];).

 

 

Данный код в действии можно посмотреть на jsFiddle.net

comments powered by HyperComments
Понравился материал - нажмите, пожалуйста, на кнопку
=)
Заказчик
2014-06-02 20:23:59
Подскажите, для яндекс-карт этот метод подходит?