Guest User

Untitled

a guest
Apr 29th, 2015
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var geocoder;
  2. var map;
  3. var marker;
  4. var directionsService = new google.maps.DirectionsService();
  5.  
  6. function initialize() {
  7.     var latlng = new google.maps.LatLng(-18.898123, -48.265920);
  8.     var options = {
  9.         zoom: 15,
  10.         center: latlng,
  11.         mapTypeId: google.maps.MapTypeId.ROADMAP
  12.     };
  13.    
  14.     map = new google.maps.Map(document.getElementById("mapa"), options);
  15.    
  16.     geocoder = new google.maps.Geocoder();
  17.    
  18.     marker = new google.maps.Marker({
  19.         map: map,
  20.         draggable: true,
  21.     });
  22.    
  23.     marker.setPosition(latlng);
  24. }
  25.  
  26. $(document).ready(function () {
  27.     initialize();
  28.    
  29.     function carregarNoMapa(endereco) {
  30.         geocoder.geocode({ 'address': endereco + ', Brasil', 'region': 'BR' }, function (results, status) {
  31.             if (status == google.maps.GeocoderStatus.OK) {
  32.                 if (results[0]) {
  33.                     var latitude = results[0].geometry.location.lat();
  34.                     var longitude = results[0].geometry.location.lng();
  35.                    
  36.                     $('#txtEndereco').val(results[0].formatted_address);
  37.                     $('#txtLatitude').val(latitude);
  38.                     $('#txtLongitude').val(longitude);
  39.                    
  40.                     var location = new google.maps.LatLng(latitude, longitude);
  41.                     marker.setPosition(location);
  42.                     map.setCenter(location);
  43.                     map.setZoom(16);
  44.                 }
  45.             }
  46.         })
  47.     }
  48.    
  49.     google.maps.event.addListener(marker, 'drag', function () {
  50.         geocoder.geocode({ 'latLng': marker.getPosition() }, function (results, status) {
  51.             if (status == google.maps.GeocoderStatus.OK) {
  52.                 if (results[0]) {  
  53.                     $('#txtEndereco').val(results[0].formatted_address);
  54.                     $('#txtLatitude').val(marker.getPosition().lat());
  55.                     $('#txtLongitude').val(marker.getPosition().lng());
  56.                 }
  57.             }
  58.         });
  59.     });
  60.    
  61.     /*$("#txtEndereco").autocomplete({
  62.                     source: function (request, response) {
  63.                         geocoder.geocode({ 'address': request.term + ', Brasil', 'region': 'BR' }, function (results, status) {
  64.                             response($.map(results, function (item) {
  65.                                 return {
  66.                                     label: item.formatted_address,
  67.                                     value: item.formatted_address,
  68.                                     latitude: item.geometry.location.lat(),
  69.                                     longitude: item.geometry.location.lng()
  70.                                 }
  71.                             }));
  72.                         })
  73.                     },
  74.                     select: function (event, ui) {
  75.                         $("#txtLatitude").val(ui.item.latitude);
  76.                         $("#txtLongitude").val(ui.item.longitude);
  77.                         var location = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
  78.                         marker.setPosition(location);
  79.                         map.setCenter(location);
  80.                         map.setZoom(16);
  81.                     }
  82.                 });*/
  83.    
  84.     $("#btnEndereco").click(function(){
  85.         var directionsDisplay = new google.maps.DirectionsRenderer();
  86.         var request = {
  87.             origin: $("#txtEndereco").val(),
  88.             destination: marker.position,
  89.             travelMode: google.maps.DirectionsTravelMode.DRIVING
  90.         };
  91.        
  92.         directionsService.route(request, function(response, status) {
  93.             if (status == google.maps.DirectionsStatus.OK) {
  94.                 directionsDisplay.setDirections(response);
  95.                 directionsDisplay.setMap(map);
  96.             }
  97.         });
  98.     });
  99. });
Advertisement
Add Comment
Please, Sign In to add comment