123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- jQuery(document).ready(function($) {
- var map;
- var geocoder = new google.maps.Geocoder();
-
- var markers = [];
- var iterator = 0;
-
- var berlin = new google.maps.LatLng(52.520816, 13.410186),
- stockholm = new google.maps.LatLng(59.32522, 18.07002);
-
- var neighborhoods = [
- new google.maps.LatLng(52.511467, 13.447179),
- new google.maps.LatLng(52.549061, 13.422975),
- new google.maps.LatLng(52.497622, 13.396110),
- new google.maps.LatLng(52.517683, 13.394393),
- new google.maps.LatLng(52.530843, 13.382721),
- new google.maps.LatLng(52.514549, 13.350105),
- new google.maps.LatLng(52.534394, 13.340492),
- ];
-
- function initialize() {
- var mapOptions = {
- zoom: 12,
- center: berlin
- };
-
- // Calculate Height
- var el = document.getElementById('map-1'),
- doc_height =
- $(document).height() - 10 -
- $(".main-content > .user-info-navbar").outerHeight() -
- $(".main-content > .page-title").outerHeight() -
- $(".google-map-env .map-toolbar").outerHeight();
-
- // Adjust map height to fit the document contianer
- el.style.height = doc_height + 'px';
-
- map = new google.maps.Map(el, mapOptions);
-
- for (var i = 0; i < neighborhoods.length; i++) {
- setTimeout(function() {
- addMarker();
- }, i * 200 + 200);
- }
-
- // Stockholm Marker
- new google.maps.Marker({
- map: map,
- position: stockholm,
- draggable: true
- });
- }
-
- function addMarker() {
- markers.push(new google.maps.Marker({
- position: neighborhoods[iterator],
- map: map,
- draggable: true,
- animation: google.maps.Animation.DROP
- }));
-
- iterator++;
- }
-
- google.maps.event.addDomListener(window, 'load', initialize);
-
- // Toolbar
- $("#go-sthlm").on('click', function(ev) {
- ev.preventDefault();
-
- map.panTo(stockholm);
- });
-
- $("#go-bln").on('click', function(ev) {
- ev.preventDefault();
-
- map.panTo(berlin);
- });
-
- $("#map-unzoom").on('click', function(ev) {
- ev.preventDefault();
-
- map.setZoom(map.getZoom() - 1);
- });
-
- $("#map-resetzoom").on('click', function(ev) {
- ev.preventDefault();
-
- map.setZoom(12);
- });
-
- $("#map-zoom").on('click', function(ev) {
- ev.preventDefault();
-
- map.setZoom(map.getZoom() + 1);
- });
-
- $("#address-search").submit(function(ev) {
- ev.preventDefault();
-
- var $inp = $(this).find('.form-control'),
- address = $inp.val().trim();
-
-
-
- if (address.length != 0) {
- geocoder.geocode({
- 'address': address
- }, function(results, status) {
-
-
- if (status == google.maps.GeocoderStatus.OK) {
- map.setCenter(results[0].geometry.location);
-
- var marker = new google.maps.Marker({
- map: map,
- position: results[0].geometry.location,
- draggable: true
- });
-
- } else {
- alert('Geocode was not successful for the following reason: ' + status);
- }
- });
- }
- });
- });
|