Usando o endereço em vez de longitude e latitude com a API do Google Maps

Ouvi dizer que é possível enviar um endereço em vez de Longitude e Latitude, e isso seria muito mais viável para o meu sistema. O usuário deve inserir seu endereço ao criar seu perfil e, posteriormente, o perfil exibirá um Google Maps de sua casa. No momento, tenho a API do Google Maps funcionando perfeitamente com o Longitude e o Latitude:

   Login Page   html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map-canvas { height: 100% }     function initialize() { var mapOptions = { center: new google.maps.LatLng(52.640143,1.28685), zoom: 15, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map"), mapOptions); var marker = new google.maps.Marker({ position: new google.maps.LatLng(52.640143,1.28685), map: map, title: "Mark On Map" }); } google.maps.event.addDomListener(window, 'load', initialize);   

Por favor, alguém poderia me ajudar a alterar o meu código para que ele permita que a API do Google Maps solicite um endereço em seu lugar, porque eu quero ler o endereço do usuário diretamente do database MySQL.

Veja este exemplo, inicializa o mapa para “San Diego, CA”.

Usa o geocoder do Google Maps Javascript API v3 para traduzir o endereço em coordenadas que podem ser exibidas no mapa.

     Google Maps JavaScript API v3 Example: Geocoding Simple     

snippet de código de trabalho:

 var geocoder; var map; var address = "San Diego, CA"; function initialize() { geocoder = new google.maps.Geocoder(); var latlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: 8, center: latlng, mapTypeControl: true, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN_MENU }, navigationControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); if (geocoder) { geocoder.geocode({ 'address': address }, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { if (status != google.maps.GeocoderStatus.ZERO_RESULTS) { map.setCenter(results[0].geometry.location); var infowindow = new google.maps.InfoWindow({ content: '' + address + '', size: new google.maps.Size(150, 50) }); var marker = new google.maps.Marker({ position: results[0].geometry.location, map: map, title: address }); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map, marker); }); } else { alert("No results found"); } } else { alert("Geocode was not successful for the following reason: " + status); } }); } } google.maps.event.addDomListener(window, 'load', initialize); 
 html, body, #map_canvas { height: 100%; width: 100%; } 
  

Aqui está o meu código para gerar o mapa da localização

Código HTML

  
serachLocation;?> // set address for which you need to generate map

Código Javascript

  

Para saber mais clique aqui

Geocodificação é o processo de conversão de endereços (como “1600 Amphitheater Parkway, Mountain View, CA”) em coordenadas geográficas (como latitude 37.423021 e longitude -122.083739), que você pode usar para colocar marcadores ou posicionar o mapa.

Isso seria o que você está procurando: contém código de amostra
https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingRequests

Você pode analisar a geolocalização através dos endereços. Crie um Array com jquery como este:

 var addressesArray = [ 'Address Str.No, Postal Area/city', //follow this structure ] //loop all the addresses and call a marker for each one for (var x = 0; x < addressesArray.length; x++) { $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+addressesArray[x]+'&sensor=false', null, function (data) { var p = data.results[0].geometry.location var latlng = new google.maps.LatLng(p.lat, p.lng); var aMarker= new google.maps.Marker({ position: latlng, //it will place marker based on the addresses, which they will be translated as geolocations. map: map }); } 

Além disso, observe que o Google limita seus resultados se você não tiver uma conta comercial com eles, e você receberá um erro se usar endereços demais.

 var geocoder; var map; function initialize() { geocoder = new google.maps.Geocoder(); var latlng = new google.maps.LatLng(-34.397, 150.644); var mapOptions = { zoom: 8, center: latlng } map = new google.maps.Map(document.getElementById('map'), mapOptions); } function codeAddress() { var address = document.getElementById('address').value; geocoder.geocode( { 'address': address}, function(results, status) { if (status == 'OK') { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); } else { alert('Geocode was not successful for the following reason: ' + status); } }); }  

Ou consulte a documentação https://developers.google.com/maps/documentation/javascript/geocoding